autnam 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- package/.env.example +2 -0
- package/.eslintrc.json +37 -0
- package/.github/workflows/deploy-docs.yml +27 -0
- package/.github/workflows/pre-release-tests.yml +49 -0
- package/.github/workflows/pull-request-tests.yml +49 -0
- package/.github/workflows/release.yml +75 -0
- package/.prettierignore +2 -0
- package/.prettierrc +19 -0
- package/.vscode/launch.json +25 -0
- package/.vscode/settings.json +5 -0
- package/codecov.yml +7 -0
- package/commitlint.config.cjs +41 -0
- package/demos/.eslintrc.js +13 -0
- package/demos/ago-node-cli/README.md +30 -0
- package/demos/ago-node-cli/ago.js +31 -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 +32 -0
- package/demos/ago-node-cli/package.json +29 -0
- package/demos/attachments-browser/README.md +7 -0
- package/demos/attachments-browser/index.html +165 -0
- package/demos/attachments-browser/package.json +15 -0
- package/demos/attachments-node/README.md +4 -0
- package/demos/attachments-node/image.jpg +0 -0
- package/demos/attachments-node/index.js +89 -0
- package/demos/attachments-node/package.json +19 -0
- package/demos/batch-geocoder-node/NYC_Restaurant_Inspection_Results.csv +100 -0
- package/demos/batch-geocoder-node/README.md +13 -0
- package/demos/batch-geocoder-node/batch-geocode.js +112 -0
- package/demos/batch-geocoder-node/config-template.js +18 -0
- package/demos/batch-geocoder-node/package.json +34 -0
- package/demos/browser-es-modules/README.md +7 -0
- package/demos/browser-es-modules/index.html +38 -0
- package/demos/browser-es-modules/package.json +15 -0
- package/demos/deno/README.md +1 -0
- package/demos/deno/import_map.json +8 -0
- package/demos/deno/index.js +5 -0
- package/demos/express/README.md +16 -0
- package/demos/express/config.json.template +3 -0
- package/demos/express/package.json +15 -0
- package/demos/express/server.js +37 -0
- package/demos/feature-service-browser/README.md +8 -0
- package/demos/feature-service-browser/index.html +122 -0
- package/demos/feature-service-browser/package.json +15 -0
- package/demos/geocoder-browser/README.md +12 -0
- package/demos/geocoder-browser/authenticate.html +29 -0
- package/demos/geocoder-browser/config.js.template +1 -0
- package/demos/geocoder-browser/index.html +139 -0
- package/demos/geocoder-browser/package.json +15 -0
- package/demos/jsapi-integration/README.md +26 -0
- package/demos/jsapi-integration/authenticate.html +29 -0
- package/demos/jsapi-integration/config.js +6 -0
- package/demos/jsapi-integration/index.html +91 -0
- package/demos/jsapi-integration/package.json +15 -0
- package/demos/node-cli-item-management/README.md +11 -0
- package/demos/node-cli-item-management/index.js +229 -0
- package/demos/node-cli-item-management/package.json +24 -0
- package/demos/node-cli-item-management/screenshot.png +0 -0
- package/demos/node-common-js/README.md +4 -0
- package/demos/node-common-js/index.js +5 -0
- package/demos/node-common-js/package.json +15 -0
- package/demos/node-es-modules/README.md +4 -0
- package/demos/node-es-modules/index.js +5 -0
- package/demos/node-es-modules/package.json +16 -0
- package/demos/oauth2-browser/README.md +17 -0
- package/demos/oauth2-browser/authenticate.html +29 -0
- package/demos/oauth2-browser/config.js.template +6 -0
- package/demos/oauth2-browser/index.html +223 -0
- package/demos/oauth2-browser/logo.svg +4 -0
- package/demos/oauth2-browser/package.json +15 -0
- package/demos/oauth2-browser/style.css +36 -0
- package/demos/oauth2-browser-retry/README.md +32 -0
- package/demos/oauth2-browser-retry/authenticate.html +21 -0
- package/demos/oauth2-browser-retry/index.html +114 -0
- package/demos/oauth2-browser-retry/logo.svg +4 -0
- package/demos/oauth2-browser-retry/package.json +15 -0
- package/demos/parcel/README.md +8 -0
- package/demos/parcel/index.html +16 -0
- package/demos/parcel/index.js +8 -0
- package/demos/parcel/package.json +20 -0
- package/demos/snowpack/README.md +8 -0
- package/demos/snowpack/index.html +16 -0
- package/demos/snowpack/index.js +8 -0
- package/demos/snowpack/package.json +20 -0
- package/demos/snowpack/snowpack.config.js +3 -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.json +31 -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.json +22 -0
- package/demos/tree-shaking-rollup/rollup.config.js +13 -0
- package/demos/tree-shaking-rollup/src/index.js +8 -0
- package/demos/tree-shaking-webpack/README.md +9 -0
- package/demos/tree-shaking-webpack/index.html +11 -0
- package/demos/tree-shaking-webpack/package.json +26 -0
- package/demos/tree-shaking-webpack/src/index.js +8 -0
- package/demos/tree-shaking-webpack/webpack.config.js +29 -0
- package/demos/vite/README.md +6 -0
- package/demos/vite/favicon.svg +15 -0
- package/demos/vite/index.html +13 -0
- package/demos/vite/main.js +8 -0
- package/demos/vite/package.json +18 -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.json +35 -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 +303 -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 +124 -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.json +47 -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 +102 -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 +61 -0
- package/docs/package.json +3 -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 +84 -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/jasmine.json +7 -0
- package/jasmine.live.json +7 -0
- package/karma.conf.cjs +128 -0
- package/package.json +87 -0
- package/packages/arcgis-rest-auth/CHANGELOG.md +80 -0
- package/packages/arcgis-rest-auth/README.md +71 -0
- package/packages/arcgis-rest-auth/package.json +66 -0
- package/packages/arcgis-rest-auth/src/index.ts +34 -0
- package/packages/arcgis-rest-auth/tsconfig.json +6 -0
- package/packages/arcgis-rest-demographics/CHANGELOG.md +14 -0
- package/packages/arcgis-rest-demographics/README.md +74 -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 +161 -0
- package/packages/arcgis-rest-demographics/src/getAvailableGeographyLevels.ts +86 -0
- package/packages/arcgis-rest-demographics/src/getGeography.ts +152 -0
- package/packages/arcgis-rest-demographics/src/helpers.ts +27 -0
- package/packages/arcgis-rest-demographics/src/index.ts +16 -0
- package/packages/arcgis-rest-demographics/src/queryDemographicData.ts +108 -0
- package/packages/arcgis-rest-demographics/test/getAvailableCountries.test.ts +89 -0
- package/packages/arcgis-rest-demographics/test/getAvailableDataCollections.test.ts +114 -0
- package/packages/arcgis-rest-demographics/test/getAvailableGeographyLevels.test.ts +69 -0
- package/packages/arcgis-rest-demographics/test/getGeography.test.ts +150 -0
- package/packages/arcgis-rest-demographics/test/mocks/responses.ts +4 -0
- package/packages/arcgis-rest-demographics/test/queryDemographicData.test.live.ts +50 -0
- package/packages/arcgis-rest-demographics/test/queryDemographicData.test.ts +127 -0
- package/packages/arcgis-rest-demographics/tsconfig.json +6 -0
- package/packages/arcgis-rest-feature-service/CHANGELOG.md +44 -0
- package/packages/arcgis-rest-feature-service/README.md +75 -0
- package/packages/arcgis-rest-feature-service/package.json +70 -0
- package/packages/arcgis-rest-feature-service/src/add.ts +55 -0
- package/packages/arcgis-rest-feature-service/src/addAttachment.ts +53 -0
- package/packages/arcgis-rest-feature-service/src/addToServiceDefinition.ts +74 -0
- package/packages/arcgis-rest-feature-service/src/applyEdits.ts +94 -0
- package/packages/arcgis-rest-feature-service/src/createFeatureService.ts +191 -0
- package/packages/arcgis-rest-feature-service/src/decodeValues.ts +126 -0
- package/packages/arcgis-rest-feature-service/src/delete.ts +62 -0
- package/packages/arcgis-rest-feature-service/src/deleteAttachments.ts +52 -0
- package/packages/arcgis-rest-feature-service/src/getAllLayersAndTables.ts +30 -0
- package/packages/arcgis-rest-feature-service/src/getAttachments.ts +55 -0
- package/packages/arcgis-rest-feature-service/src/getLayer.ts +23 -0
- package/packages/arcgis-rest-feature-service/src/getService.ts +25 -0
- package/packages/arcgis-rest-feature-service/src/getServiceAdminInfo.ts +33 -0
- package/packages/arcgis-rest-feature-service/src/getViewSources.ts +19 -0
- package/packages/arcgis-rest-feature-service/src/helpers.ts +768 -0
- package/packages/arcgis-rest-feature-service/src/index.ts +37 -0
- package/packages/arcgis-rest-feature-service/src/query.ts +200 -0
- package/packages/arcgis-rest-feature-service/src/queryRelated.ts +86 -0
- package/packages/arcgis-rest-feature-service/src/update.ts +65 -0
- package/packages/arcgis-rest-feature-service/src/updateAttachment.ts +59 -0
- package/packages/arcgis-rest-feature-service/src/updateServiceDefinition.ts +53 -0
- package/packages/arcgis-rest-feature-service/test/addToServiceDefinition.test.ts +350 -0
- package/packages/arcgis-rest-feature-service/test/attachments.test.ts +188 -0
- package/packages/arcgis-rest-feature-service/test/createFeatureService.test.ts +279 -0
- package/packages/arcgis-rest-feature-service/test/crud.test.ts +196 -0
- package/packages/arcgis-rest-feature-service/test/decodeValues.test.ts +66 -0
- package/packages/arcgis-rest-feature-service/test/getAllLayersAndTables.test.ts +27 -0
- package/packages/arcgis-rest-feature-service/test/getLayer.test.ts +30 -0
- package/packages/arcgis-rest-feature-service/test/getService.test.ts +30 -0
- package/packages/arcgis-rest-feature-service/test/getServiceAdminInfo.test.ts +41 -0
- package/packages/arcgis-rest-feature-service/test/getViewSources.test.ts +45 -0
- package/packages/arcgis-rest-feature-service/test/helpers.test.ts +27 -0
- package/packages/arcgis-rest-feature-service/test/mocks/allLayersAndTablesResponse.ts +950 -0
- package/packages/arcgis-rest-feature-service/test/mocks/cvdQueryResponse.ts +225 -0
- package/packages/arcgis-rest-feature-service/test/mocks/feature.ts +302 -0
- package/packages/arcgis-rest-feature-service/test/mocks/fields.ts +779 -0
- package/packages/arcgis-rest-feature-service/test/mocks/foo.txt +1 -0
- package/packages/arcgis-rest-feature-service/test/mocks/layerDefinition.ts +80 -0
- package/packages/arcgis-rest-feature-service/test/mocks/service.ts +476 -0
- package/packages/arcgis-rest-feature-service/test/query.test.ts +166 -0
- package/packages/arcgis-rest-feature-service/test/updateServiceDefinition.test.ts +103 -0
- package/packages/arcgis-rest-feature-service/tsconfig.json +9 -0
- package/packages/arcgis-rest-fetch/README.md +17 -0
- package/packages/arcgis-rest-fetch/browser-ponyfill.js +8 -0
- package/packages/arcgis-rest-fetch/browser-ponyfill.mjs +8 -0
- package/packages/arcgis-rest-fetch/index.types.d.ts +8 -0
- package/packages/arcgis-rest-fetch/node-ponyfill.js +10 -0
- package/packages/arcgis-rest-fetch/node-ponyfill.mjs +10 -0
- package/packages/arcgis-rest-fetch/package.json +21 -0
- package/packages/arcgis-rest-form-data/README.md +15 -0
- package/packages/arcgis-rest-form-data/browser-ponyfill.js +5 -0
- package/packages/arcgis-rest-form-data/browser-ponyfill.mjs +3 -0
- package/packages/arcgis-rest-form-data/index.types.d.ts +9 -0
- package/packages/arcgis-rest-form-data/node-ponyfill.js +7 -0
- package/packages/arcgis-rest-form-data/node-ponyfill.mjs +5 -0
- package/packages/arcgis-rest-form-data/package.json +21 -0
- package/packages/arcgis-rest-geocoding/CHANGELOG.md +26 -0
- package/packages/arcgis-rest-geocoding/README.md +85 -0
- package/packages/arcgis-rest-geocoding/package.json +69 -0
- package/packages/arcgis-rest-geocoding/src/bulk.ts +106 -0
- package/packages/arcgis-rest-geocoding/src/geocode.ts +169 -0
- package/packages/arcgis-rest-geocoding/src/helpers.ts +56 -0
- package/packages/arcgis-rest-geocoding/src/index.ts +17 -0
- package/packages/arcgis-rest-geocoding/src/reverse.ts +82 -0
- package/packages/arcgis-rest-geocoding/src/suggest.ts +45 -0
- package/packages/arcgis-rest-geocoding/test/bulk.test.ts +193 -0
- package/packages/arcgis-rest-geocoding/test/geocode.test.ts +254 -0
- package/packages/arcgis-rest-geocoding/test/helpers.test.ts +85 -0
- package/packages/arcgis-rest-geocoding/test/mocks/responses.ts +1031 -0
- package/packages/arcgis-rest-geocoding/test/reverse.test.ts +124 -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/CHANGELOG.md +73 -0
- package/packages/arcgis-rest-portal/README.md +72 -0
- package/packages/arcgis-rest-portal/package.json +68 -0
- package/packages/arcgis-rest-portal/src/groups/add-users.ts +140 -0
- package/packages/arcgis-rest-portal/src/groups/create.ts +42 -0
- package/packages/arcgis-rest-portal/src/groups/get.ts +187 -0
- package/packages/arcgis-rest-portal/src/groups/helpers.ts +14 -0
- package/packages/arcgis-rest-portal/src/groups/invite-users.ts +141 -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 +84 -0
- package/packages/arcgis-rest-portal/src/groups/remove.ts +32 -0
- package/packages/arcgis-rest-portal/src/groups/search.ts +48 -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/helpers.ts +83 -0
- package/packages/arcgis-rest-portal/src/index.ts +68 -0
- package/packages/arcgis-rest-portal/src/items/add.ts +145 -0
- package/packages/arcgis-rest-portal/src/items/content.ts +70 -0
- package/packages/arcgis-rest-portal/src/items/create.ts +149 -0
- package/packages/arcgis-rest-portal/src/items/export.ts +92 -0
- package/packages/arcgis-rest-portal/src/items/get.ts +444 -0
- package/packages/arcgis-rest-portal/src/items/helpers.ts +272 -0
- package/packages/arcgis-rest-portal/src/items/protect.ts +41 -0
- package/packages/arcgis-rest-portal/src/items/reassign.ts +59 -0
- package/packages/arcgis-rest-portal/src/items/remove.ts +139 -0
- package/packages/arcgis-rest-portal/src/items/search.ts +25 -0
- package/packages/arcgis-rest-portal/src/items/update.ts +188 -0
- package/packages/arcgis-rest-portal/src/items/upload.ts +124 -0
- package/packages/arcgis-rest-portal/src/orgs/notification.ts +148 -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 +29 -0
- package/packages/arcgis-rest-portal/src/sharing/access.ts +84 -0
- package/packages/arcgis-rest-portal/src/sharing/helpers.ts +80 -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 +335 -0
- package/packages/arcgis-rest-portal/src/sharing/unshare-item-with-group.ts +114 -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 +60 -0
- package/packages/arcgis-rest-portal/src/users/invitation.ts +157 -0
- package/packages/arcgis-rest-portal/src/users/notification.ts +67 -0
- package/packages/arcgis-rest-portal/src/users/search-users.ts +35 -0
- package/packages/arcgis-rest-portal/src/users/update.ts +63 -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 +111 -0
- package/packages/arcgis-rest-portal/src/util/get-portal-settings.ts +44 -0
- package/packages/arcgis-rest-portal/src/util/get-portal-url.ts +32 -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 +48 -0
- package/packages/arcgis-rest-portal/test/groups/add-users.test.ts +238 -0
- package/packages/arcgis-rest-portal/test/groups/crud.test.ts +183 -0
- package/packages/arcgis-rest-portal/test/groups/get.test.ts +174 -0
- package/packages/arcgis-rest-portal/test/groups/invite-users.test.ts +146 -0
- package/packages/arcgis-rest-portal/test/groups/join.test.ts +71 -0
- package/packages/arcgis-rest-portal/test/groups/notification.test.ts +111 -0
- package/packages/arcgis-rest-portal/test/groups/protect.test.ts +71 -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 +64 -0
- package/packages/arcgis-rest-portal/test/items/add.test.ts +320 -0
- package/packages/arcgis-rest-portal/test/items/content.test.ts +161 -0
- package/packages/arcgis-rest-portal/test/items/create.test.ts +404 -0
- package/packages/arcgis-rest-portal/test/items/export.test.ts +115 -0
- package/packages/arcgis-rest-portal/test/items/get.test.ts +606 -0
- package/packages/arcgis-rest-portal/test/items/helpers.test.ts +60 -0
- package/packages/arcgis-rest-portal/test/items/protect.test.ts +120 -0
- package/packages/arcgis-rest-portal/test/items/reassign.test.ts +130 -0
- package/packages/arcgis-rest-portal/test/items/remove.test.ts +259 -0
- package/packages/arcgis-rest-portal/test/items/search.test.ts +274 -0
- package/packages/arcgis-rest-portal/test/items/update.test.ts +549 -0
- package/packages/arcgis-rest-portal/test/items/upload.test.ts +286 -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/services/get-unique-service-name.test.ts +64 -0
- package/packages/arcgis-rest-portal/test/services/is-service-name-available.test.ts +41 -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 +126 -0
- package/packages/arcgis-rest-portal/test/users/notification.test.ts +76 -0
- package/packages/arcgis-rest-portal/test/users/search.test.ts +41 -0
- package/packages/arcgis-rest-portal/test/users/update.test.ts +150 -0
- package/packages/arcgis-rest-portal/test/util/SearchQueryBuilder.test.ts +295 -0
- package/packages/arcgis-rest-portal/test/util/array.test.ts +33 -0
- package/packages/arcgis-rest-portal/test/util/get-portal-settings.test.ts +57 -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 +137 -0
- package/packages/arcgis-rest-portal/test/util/scrub-control-chars.test.ts +25 -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 +69 -0
- package/packages/arcgis-rest-request/post-message-auth-spec.md +70 -0
- package/packages/arcgis-rest-request/src/ApiKeyManager.ts +60 -0
- package/packages/arcgis-rest-request/src/ApplicationCredentialsManager.ts +141 -0
- package/packages/arcgis-rest-request/src/ArcGISIdentityManager.ts +1470 -0
- package/packages/arcgis-rest-request/src/app-tokens.ts +132 -0
- package/packages/arcgis-rest-request/src/authenticated-request-options.ts +23 -0
- package/packages/arcgis-rest-request/src/federation-utils.ts +88 -0
- package/packages/arcgis-rest-request/src/fetch-token.ts +48 -0
- package/packages/arcgis-rest-request/src/generate-token.ts +32 -0
- package/packages/arcgis-rest-request/src/index.ts +46 -0
- package/packages/arcgis-rest-request/src/request.ts +446 -0
- package/packages/arcgis-rest-request/src/revoke-token.ts +73 -0
- package/packages/arcgis-rest-request/src/types/feature.ts +42 -0
- package/packages/arcgis-rest-request/src/types/geometry.ts +239 -0
- package/packages/arcgis-rest-request/src/types/group.ts +72 -0
- package/packages/arcgis-rest-request/src/types/service.ts +87 -0
- package/packages/arcgis-rest-request/src/types/symbol.ts +21 -0
- package/packages/arcgis-rest-request/src/types/user.ts +49 -0
- package/packages/arcgis-rest-request/src/utils/ArcGISRequestError.ts +82 -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 +59 -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 +46 -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 +41 -0
- package/packages/arcgis-rest-request/src/utils/encode-query-string.ts +37 -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/src/validate-app-access.ts +69 -0
- package/packages/arcgis-rest-request/test/ApiKey.test.ts +53 -0
- package/packages/arcgis-rest-request/test/ApplicationSession.test.ts +148 -0
- package/packages/arcgis-rest-request/test/ArcGISIdentityManager.test.ts +2579 -0
- package/packages/arcgis-rest-request/test/app-tokens.test.ts +91 -0
- package/packages/arcgis-rest-request/test/federation-utils.test.ts +323 -0
- package/packages/arcgis-rest-request/test/fetchToken.test.ts +110 -0
- package/packages/arcgis-rest-request/test/generateToken.test.ts +40 -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 +563 -0
- package/packages/arcgis-rest-request/test/revoke-token.test.ts +55 -0
- package/packages/arcgis-rest-request/test/utils/ArcGISAuthError.test.ts +196 -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 +146 -0
- package/packages/arcgis-rest-request/test/utils/encode-query-string.test.ts +22 -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 +135 -0
- package/packages/arcgis-rest-request/test/validate-app-access.test.ts +44 -0
- package/packages/arcgis-rest-request/tsconfig.json +4 -0
- package/packages/arcgis-rest-routing/README.md +74 -0
- package/packages/arcgis-rest-routing/package.json +69 -0
- package/packages/arcgis-rest-routing/src/closestFacility.ts +223 -0
- package/packages/arcgis-rest-routing/src/helpers.ts +104 -0
- package/packages/arcgis-rest-routing/src/index.ts +20 -0
- package/packages/arcgis-rest-routing/src/originDestinationMatrix.ts +219 -0
- package/packages/arcgis-rest-routing/src/serviceArea.ts +169 -0
- package/packages/arcgis-rest-routing/src/solveRoute.ts +179 -0
- package/packages/arcgis-rest-routing/test/closestFacility.test.ts +686 -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 +681 -0
- package/packages/arcgis-rest-routing/tsconfig.json +6 -0
- package/prettier-package-json.config.cjs +81 -0
- package/rollup.js +152 -0
- package/scripts/create-dist-package-jsons.js +17 -0
- package/scripts/deploy-doc-site.js +16 -0
- package/scripts/generate-sri-hashes.js +52 -0
- package/scripts/get-package-json.js +27 -0
- package/scripts/run-demo-server.js +21 -0
- package/scripts/test-helpers.ts +20 -0
- package/tsconfig.json +62 -0
- package/typedoc.json +14 -0
@@ -0,0 +1,70 @@
|
|
1
|
+
{
|
2
|
+
"name": "@esri/arcgis-rest-feature-service",
|
3
|
+
"version": "1.0.0-beta.1",
|
4
|
+
"description": "Feature layer query and edit helpers for @esri/arcgis-rest-js",
|
5
|
+
"license": "Apache-2.0",
|
6
|
+
"keywords": [
|
7
|
+
"ES6",
|
8
|
+
"arcgis",
|
9
|
+
"esri",
|
10
|
+
"fetch",
|
11
|
+
"promise",
|
12
|
+
"typescript"
|
13
|
+
],
|
14
|
+
"type": "module",
|
15
|
+
"main": "dist/cjs/index.js",
|
16
|
+
"module": "dist/esm/index.js",
|
17
|
+
"unpkg": "dist/bundled/feature-layer.umd.min.js",
|
18
|
+
"exports": {
|
19
|
+
".": {
|
20
|
+
"import": "./dist/esm/index.js",
|
21
|
+
"require": "./dist/cjs/index.js"
|
22
|
+
}
|
23
|
+
},
|
24
|
+
"types": "dist/esm/index.d.ts",
|
25
|
+
"sideEffects": false,
|
26
|
+
"files": [
|
27
|
+
"dist/**"
|
28
|
+
],
|
29
|
+
"scripts": {
|
30
|
+
"build": "npm-run-all --parallel build:*",
|
31
|
+
"postbuild": "node ../../scripts/create-dist-package-jsons.js",
|
32
|
+
"build:bundled": "rollup -c ../../rollup.js",
|
33
|
+
"build:cjs": "tsc --outDir ./dist/cjs -m commonjs",
|
34
|
+
"build:esm": "tsc --outDir ./dist/esm --declaration",
|
35
|
+
"dev": "npm-run-all --parallel dev:*",
|
36
|
+
"dev:bundled": "rollup -w -c ../../rollup.js",
|
37
|
+
"dev:cjs": "tsc -w --outDir ./dist/cjs -m commonjs",
|
38
|
+
"dev:esm": "tsc -w --outDir ./dist/esm --declaration"
|
39
|
+
},
|
40
|
+
"engines": {
|
41
|
+
"node": ">=12.20.0"
|
42
|
+
},
|
43
|
+
"dependencies": {
|
44
|
+
"tslib": "^2.3.0"
|
45
|
+
},
|
46
|
+
"peerDependencies": {
|
47
|
+
"@esri/arcgis-rest-portal": "1.0.0-beta.1",
|
48
|
+
"@esri/arcgis-rest-request": "1.0.0-beta.1"
|
49
|
+
},
|
50
|
+
"devDependencies": {
|
51
|
+
"@esri/arcgis-rest-portal": "1.0.0-beta.1",
|
52
|
+
"@esri/arcgis-rest-request": "1.0.0-beta.1"
|
53
|
+
},
|
54
|
+
"contributors": [
|
55
|
+
"Mike Tschudi <mtschudi@esri.com>",
|
56
|
+
"Tom Wayson <twayson@esri.com> (http://tomwayson.com/)"
|
57
|
+
],
|
58
|
+
"homepage": "https://github.com/Esri/arcgis-rest-js#readme",
|
59
|
+
"repository": {
|
60
|
+
"type": "git",
|
61
|
+
"url": "git+https://github.com/Esri/arcgis-rest-js.git",
|
62
|
+
"directory": "packages/arcgis-rest-feature-service"
|
63
|
+
},
|
64
|
+
"bugs": {
|
65
|
+
"url": "https://github.com/Esri/arcgis-rest-js/issues"
|
66
|
+
},
|
67
|
+
"publishConfig": {
|
68
|
+
"access": "public"
|
69
|
+
}
|
70
|
+
}
|
@@ -0,0 +1,55 @@
|
|
1
|
+
/* Copyright (c) 2017 Environmental Systems Research Institute, Inc.
|
2
|
+
* Apache-2.0 */
|
3
|
+
|
4
|
+
import {
|
5
|
+
request,
|
6
|
+
cleanUrl,
|
7
|
+
appendCustomParams,
|
8
|
+
IFeature
|
9
|
+
} from "@esri/arcgis-rest-request";
|
10
|
+
|
11
|
+
import { ISharedEditOptions, IEditFeatureResult } from "./helpers.js";
|
12
|
+
|
13
|
+
/**
|
14
|
+
* Add features request options. See the [REST Documentation](https://developers.arcgis.com/rest/services-reference/add-features.htm) for more information.
|
15
|
+
*
|
16
|
+
*/
|
17
|
+
export interface IAddFeaturesOptions extends ISharedEditOptions {
|
18
|
+
/**
|
19
|
+
* Array of JSON features to add.
|
20
|
+
*/
|
21
|
+
features: IFeature[];
|
22
|
+
}
|
23
|
+
|
24
|
+
/**
|
25
|
+
* ```js
|
26
|
+
* import { addFeatures } from '@esri/arcgis-rest-feature-service';
|
27
|
+
* //
|
28
|
+
* addFeatures({
|
29
|
+
* url: "https://sampleserver6.arcgisonline.com/arcgis/rest/services/ServiceRequest/FeatureServer/0",
|
30
|
+
* features: [{
|
31
|
+
* geometry: { x: -120, y: 45, spatialReference: { wkid: 4326 } },
|
32
|
+
* attributes: { status: "alive" }
|
33
|
+
* }]
|
34
|
+
* })
|
35
|
+
* .then(response)
|
36
|
+
* ```
|
37
|
+
* Add features request. See the [REST Documentation](https://developers.arcgis.com/rest/services-reference/add-features.htm) for more information.
|
38
|
+
*
|
39
|
+
* @param requestOptions - Options for the request.
|
40
|
+
* @returns A Promise that will resolve with the addFeatures response.
|
41
|
+
*/
|
42
|
+
export function addFeatures(
|
43
|
+
requestOptions: IAddFeaturesOptions
|
44
|
+
): Promise<{ addResults: IEditFeatureResult[] }> {
|
45
|
+
const url = `${cleanUrl(requestOptions.url)}/addFeatures`;
|
46
|
+
|
47
|
+
// edit operations are POST only
|
48
|
+
const options = appendCustomParams<IAddFeaturesOptions>(
|
49
|
+
requestOptions,
|
50
|
+
["features", "gdbVersion", "returnEditMoment", "rollbackOnFailure"],
|
51
|
+
{ params: { ...requestOptions.params } }
|
52
|
+
);
|
53
|
+
|
54
|
+
return request(url, options);
|
55
|
+
}
|
@@ -0,0 +1,53 @@
|
|
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.js";
|
6
|
+
|
7
|
+
/**
|
8
|
+
* Request options for adding a related attachment to a feature by id. See [Add Attachment](https://developers.arcgis.com/rest/services-reference/add-attachment.htm) for more information.
|
9
|
+
*
|
10
|
+
*/
|
11
|
+
export interface IAddAttachmentOptions extends IGetLayerOptions {
|
12
|
+
/**
|
13
|
+
* Unique identifier of feature to add related attachment.
|
14
|
+
*/
|
15
|
+
featureId: number;
|
16
|
+
/**
|
17
|
+
* File to be attached.
|
18
|
+
*/
|
19
|
+
attachment: File;
|
20
|
+
}
|
21
|
+
|
22
|
+
/**
|
23
|
+
* ```js
|
24
|
+
* import { addAttachment } from '@esri/arcgis-rest-feature-service';
|
25
|
+
* //
|
26
|
+
* addAttachment({
|
27
|
+
* url: "https://sampleserver6.arcgisonline.com/arcgis/rest/services/ServiceRequest/FeatureServer/0",
|
28
|
+
* featureId: 8484,
|
29
|
+
* attachment: myFileInput.files[0]
|
30
|
+
* })
|
31
|
+
* .then(response)
|
32
|
+
* ```
|
33
|
+
* Attach a file to a feature by id. See [Add Attachment](https://developers.arcgis.com/rest/services-reference/add-attachment.htm) for more information.
|
34
|
+
*
|
35
|
+
* @param requestOptions - Options for the request.
|
36
|
+
* @returns A Promise that will resolve with the `addAttachment()` response.
|
37
|
+
*/
|
38
|
+
export function addAttachment(
|
39
|
+
requestOptions: IAddAttachmentOptions
|
40
|
+
): Promise<{ addAttachmentResult: IEditFeatureResult }> {
|
41
|
+
const options: IAddAttachmentOptions = {
|
42
|
+
params: {},
|
43
|
+
...requestOptions
|
44
|
+
};
|
45
|
+
|
46
|
+
// `attachment` --> params: {}
|
47
|
+
options.params.attachment = requestOptions.attachment;
|
48
|
+
|
49
|
+
return request(
|
50
|
+
`${cleanUrl(options.url)}/${options.featureId}/addAttachment`,
|
51
|
+
options
|
52
|
+
);
|
53
|
+
}
|
@@ -0,0 +1,74 @@
|
|
1
|
+
/* Copyright (c) 2018-2019 Environmental Systems Research Institute, Inc.
|
2
|
+
* Apache-2.0 */
|
3
|
+
|
4
|
+
import {
|
5
|
+
request,
|
6
|
+
cleanUrl,
|
7
|
+
IUserRequestOptions,
|
8
|
+
} from "@esri/arcgis-rest-request";
|
9
|
+
|
10
|
+
import { ILayer, ITable, ILayerDefinition } from "./helpers.js";
|
11
|
+
|
12
|
+
export interface IAddToServiceDefinitionOptions extends IUserRequestOptions {
|
13
|
+
/**
|
14
|
+
* Layers to add
|
15
|
+
*/
|
16
|
+
layers?: ILayer[] | ILayerDefinition[];
|
17
|
+
/**
|
18
|
+
* Tables to add
|
19
|
+
*/
|
20
|
+
tables?: ITable[];
|
21
|
+
}
|
22
|
+
|
23
|
+
export interface IAddToServiceDefinitionItemSummary {
|
24
|
+
name: string;
|
25
|
+
id: any;
|
26
|
+
}
|
27
|
+
|
28
|
+
export interface IAddToServiceDefinitionResult {
|
29
|
+
layers?: IAddToServiceDefinitionItemSummary[];
|
30
|
+
tables?: IAddToServiceDefinitionItemSummary[];
|
31
|
+
success: boolean;
|
32
|
+
}
|
33
|
+
|
34
|
+
/**
|
35
|
+
* ```js
|
36
|
+
* import { addToServiceDefinition } from '@esri/arcgis-rest-service-admin';
|
37
|
+
* //
|
38
|
+
* addToServiceDefinition(serviceurl, {
|
39
|
+
* authentication: ArcGISIdentityManager,
|
40
|
+
* layers: [],
|
41
|
+
* tables: []
|
42
|
+
* });
|
43
|
+
* ```
|
44
|
+
* Add layer(s) and/or table(s) to a hosted feature service. See the [REST Documentation](https://developers.arcgis.com/rest/services-reference/add-to-definition-feature-service-.htm) for more information.
|
45
|
+
*
|
46
|
+
* @param url - URL of feature service
|
47
|
+
* @param requestOptions - Options for the request
|
48
|
+
* @returns A Promise that resolves with service layer and/or table details once the definition
|
49
|
+
* has been updated
|
50
|
+
*/
|
51
|
+
export function addToServiceDefinition(
|
52
|
+
url: string,
|
53
|
+
requestOptions: IAddToServiceDefinitionOptions
|
54
|
+
): Promise<IAddToServiceDefinitionResult> {
|
55
|
+
const adminUrl = `${cleanUrl(url).replace(
|
56
|
+
`/rest/services`,
|
57
|
+
`/rest/admin/services`
|
58
|
+
)}/addToDefinition`;
|
59
|
+
|
60
|
+
requestOptions.params = {
|
61
|
+
addToDefinition: {},
|
62
|
+
...requestOptions.params
|
63
|
+
};
|
64
|
+
|
65
|
+
if (requestOptions.layers && requestOptions.layers.length > 0) {
|
66
|
+
requestOptions.params.addToDefinition.layers = requestOptions.layers;
|
67
|
+
}
|
68
|
+
|
69
|
+
if (requestOptions.tables && requestOptions.tables.length > 0) {
|
70
|
+
requestOptions.params.addToDefinition.tables = requestOptions.tables;
|
71
|
+
}
|
72
|
+
|
73
|
+
return request(adminUrl, requestOptions);
|
74
|
+
}
|
@@ -0,0 +1,94 @@
|
|
1
|
+
/* Copyright (c) 2017-2019 Environmental Systems Research Institute, Inc.
|
2
|
+
* Apache-2.0 */
|
3
|
+
|
4
|
+
import {
|
5
|
+
request,
|
6
|
+
cleanUrl,
|
7
|
+
appendCustomParams,
|
8
|
+
IFeature
|
9
|
+
} from "@esri/arcgis-rest-request";
|
10
|
+
|
11
|
+
import { ISharedEditOptions, IApplyEditsResult } from "./helpers.js";
|
12
|
+
|
13
|
+
/**
|
14
|
+
* Apply edits request options. See the [REST Documentation](https://developers.arcgis.com/rest/services-reference/apply-edits-feature-service-layer-.htm) for more information.
|
15
|
+
*
|
16
|
+
*/
|
17
|
+
export interface IApplyEditsOptions extends ISharedEditOptions {
|
18
|
+
/**
|
19
|
+
* Array of JSON features to add.
|
20
|
+
*/
|
21
|
+
adds?: IFeature[];
|
22
|
+
/**
|
23
|
+
* Array of JSON features to update.
|
24
|
+
*/
|
25
|
+
updates?: IFeature[];
|
26
|
+
/**
|
27
|
+
* Array of objectIds or globalIds to delete.
|
28
|
+
*/
|
29
|
+
deletes?: number[] | string[];
|
30
|
+
/**
|
31
|
+
* When set to true, the features and attachments in the adds, updates, deletes, and attachments parameters are identified by their globalIds.
|
32
|
+
*/
|
33
|
+
useGlobalIds?: boolean;
|
34
|
+
/**
|
35
|
+
* Optional parameter which is false by default is set by client to indicate to the server that client in true curve capable.
|
36
|
+
*/
|
37
|
+
trueCurveClient?: boolean;
|
38
|
+
/**
|
39
|
+
* Use the attachments parameter to add, update or delete attachments. Applies only when the useGlobalIds parameter is set to true.
|
40
|
+
* See [attachment](https://developers.arcgis.com/rest/services-reference/apply-edits-feature-service-layer-.htm) param details.
|
41
|
+
*/
|
42
|
+
attachments?: {
|
43
|
+
adds?: any[];
|
44
|
+
updates?: any[];
|
45
|
+
deletes?: string[];
|
46
|
+
};
|
47
|
+
}
|
48
|
+
|
49
|
+
/**
|
50
|
+
* ```js
|
51
|
+
* import { applyEdits } from '@esri/arcgis-rest-feature-service';
|
52
|
+
* //
|
53
|
+
* applyEdits({
|
54
|
+
* url: "https://sampleserver6.arcgisonline.com/arcgis/rest/services/ServiceRequest/FeatureServer/0",
|
55
|
+
* adds: [{
|
56
|
+
* geometry: { x: -120, y: 45, spatialReference: { wkid: 4326 } },
|
57
|
+
* attributes: { status: "alive" }
|
58
|
+
* }],
|
59
|
+
* updates: [{
|
60
|
+
* attributes: { OBJECTID: 1004, status: "alive" }
|
61
|
+
* }],
|
62
|
+
* deletes: [862, 1548]
|
63
|
+
* })
|
64
|
+
* .then(response)
|
65
|
+
* ```
|
66
|
+
* Apply edits request. See the [REST Documentation](https://developers.arcgis.com/rest/services-reference/apply-edits-feature-service-layer-.htm) for more information.
|
67
|
+
*
|
68
|
+
* @param requestOptions - Options for the request.
|
69
|
+
* @returns A Promise that will resolve with the applyEdits response.
|
70
|
+
*/
|
71
|
+
export function applyEdits(
|
72
|
+
requestOptions: IApplyEditsOptions
|
73
|
+
): Promise<IApplyEditsResult> {
|
74
|
+
const url = `${cleanUrl(requestOptions.url)}/applyEdits`;
|
75
|
+
|
76
|
+
// edit operations are POST only
|
77
|
+
const options = appendCustomParams<IApplyEditsOptions>(
|
78
|
+
requestOptions,
|
79
|
+
[
|
80
|
+
"adds",
|
81
|
+
"updates",
|
82
|
+
"deletes",
|
83
|
+
"useGlobalIds",
|
84
|
+
"attachments",
|
85
|
+
"gdbVersion",
|
86
|
+
"returnEditMoment",
|
87
|
+
"rollbackOnFailure",
|
88
|
+
"trueCurveClient"
|
89
|
+
],
|
90
|
+
{ params: { ...requestOptions.params } }
|
91
|
+
);
|
92
|
+
|
93
|
+
return request(url, options);
|
94
|
+
}
|
@@ -0,0 +1,191 @@
|
|
1
|
+
/* Copyright (c) 2018-2019 Environmental Systems Research Institute, Inc.
|
2
|
+
* Apache-2.0 */
|
3
|
+
|
4
|
+
import { request, IExtent, ISpatialReference } from "@esri/arcgis-rest-request";
|
5
|
+
|
6
|
+
import {
|
7
|
+
moveItem,
|
8
|
+
ICreateUpdateItemOptions,
|
9
|
+
determineOwner,
|
10
|
+
getPortalUrl
|
11
|
+
} from "@esri/arcgis-rest-portal";
|
12
|
+
|
13
|
+
/**
|
14
|
+
* A [`createParameters` JSON object for a new
|
15
|
+
* service](https://developers.arcgis.com/rest/users-groups-and-items/create-service.htm).
|
16
|
+
*/
|
17
|
+
export interface ICreateServiceParams {
|
18
|
+
/**
|
19
|
+
* Name of the service to be created. This name must be unique. If the name already exists, the operation will fail. ArcGIS Enterprise does not allow spaces or special characters other than underscores in a service name.
|
20
|
+
*/
|
21
|
+
name: string;
|
22
|
+
/**
|
23
|
+
* Description given to the service.
|
24
|
+
*/
|
25
|
+
serviceDescription?: string;
|
26
|
+
/**
|
27
|
+
* Indicates whether the data changes.
|
28
|
+
*/
|
29
|
+
hasStaticData?: boolean;
|
30
|
+
/**
|
31
|
+
* A double value indicating any constraints enforced on query operations.
|
32
|
+
*/
|
33
|
+
maxRecordCount?: number;
|
34
|
+
/**
|
35
|
+
* The formats in which query results are returned.
|
36
|
+
*/
|
37
|
+
supportedQueryFormats?: string;
|
38
|
+
/**
|
39
|
+
* Specify feature service editing capabilities for Create, Delete, Query, Update, and Sync.
|
40
|
+
*/
|
41
|
+
capabilities?: string;
|
42
|
+
/**
|
43
|
+
* A user-friendly description for the published dataset.
|
44
|
+
*/
|
45
|
+
description?: string;
|
46
|
+
/**
|
47
|
+
* Copyright information associated with the dataset.
|
48
|
+
*/
|
49
|
+
copyrightText?: string;
|
50
|
+
/**
|
51
|
+
* All layers added to a hosted feature service need to have the same spatial reference defined for
|
52
|
+
* the feature service. When creating a new empty service without specifying its spatial reference,
|
53
|
+
* the spatial reference of the hosted feature service is set to the first layer added to that
|
54
|
+
* feature service.
|
55
|
+
*/
|
56
|
+
spatialReference?: ISpatialReference;
|
57
|
+
/**
|
58
|
+
* The initial extent set for the service.
|
59
|
+
*/
|
60
|
+
initialExtent?: IExtent;
|
61
|
+
/**
|
62
|
+
* Indicates if updating the geometry of the service is permitted.
|
63
|
+
*/
|
64
|
+
allowGeometryUpdates?: boolean;
|
65
|
+
/**
|
66
|
+
* Units used by the feature service
|
67
|
+
*/
|
68
|
+
units?: string;
|
69
|
+
/**
|
70
|
+
* A JSON object specifying the properties of cross-site scripting prevention.
|
71
|
+
*/
|
72
|
+
xssPreventionInfo?: any;
|
73
|
+
/**
|
74
|
+
* Editor tracking info.
|
75
|
+
*/
|
76
|
+
editorTrackingInfo?: {
|
77
|
+
enableEditorTracking?: boolean;
|
78
|
+
enableOwnershipAccessControl?: boolean;
|
79
|
+
allowOthersToUpdate?: boolean;
|
80
|
+
allowOthersToDelete?: boolean;
|
81
|
+
allowOthersToQuery?: boolean;
|
82
|
+
allowAnonymousToUpdate?: boolean;
|
83
|
+
allowAnonymousToDelete?: boolean;
|
84
|
+
};
|
85
|
+
}
|
86
|
+
|
87
|
+
export interface ICreateServiceOptions extends ICreateUpdateItemOptions {
|
88
|
+
/**
|
89
|
+
* A JSON object specifying the properties of the newly-created service. See the [REST
|
90
|
+
* Documentation](https://developers.arcgis.com/rest/users-groups-and-items/working-with-users-groups-and-items.htm)
|
91
|
+
* for more information.
|
92
|
+
*/
|
93
|
+
item: ICreateServiceParams;
|
94
|
+
/**
|
95
|
+
* Alphanumeric id of folder to house moved item. If null, empty, or "/", the destination is the
|
96
|
+
* root folder.
|
97
|
+
*/
|
98
|
+
folderId?: string;
|
99
|
+
}
|
100
|
+
|
101
|
+
export interface ICreateServiceResult {
|
102
|
+
/**
|
103
|
+
* The encoded URL to the hosted service.
|
104
|
+
*/
|
105
|
+
encodedServiceURL: string;
|
106
|
+
|
107
|
+
/**
|
108
|
+
* Indicates if this feature service represents a view.
|
109
|
+
*/
|
110
|
+
isView: boolean;
|
111
|
+
|
112
|
+
/**
|
113
|
+
* The unique ID for this item.
|
114
|
+
*/
|
115
|
+
itemId: string;
|
116
|
+
|
117
|
+
/**
|
118
|
+
* Name of the service item.
|
119
|
+
*/
|
120
|
+
name: string;
|
121
|
+
|
122
|
+
/**
|
123
|
+
* The ID of the new service item.
|
124
|
+
*/
|
125
|
+
serviceItemId: string;
|
126
|
+
|
127
|
+
/**
|
128
|
+
* The URL to the hosted service.
|
129
|
+
*/
|
130
|
+
serviceurl: string;
|
131
|
+
|
132
|
+
/**
|
133
|
+
* The size of the item.
|
134
|
+
*/
|
135
|
+
size: number;
|
136
|
+
|
137
|
+
/**
|
138
|
+
* Indicates if the operation was successful.
|
139
|
+
*/
|
140
|
+
success: boolean;
|
141
|
+
|
142
|
+
/**
|
143
|
+
* The type of service created.
|
144
|
+
*/
|
145
|
+
type: string;
|
146
|
+
}
|
147
|
+
|
148
|
+
/**
|
149
|
+
* ```js
|
150
|
+
* import {
|
151
|
+
* createFeatureService,
|
152
|
+
* addToServiceDefinition
|
153
|
+
* } from '@esri/arcgis-rest-service-admin';
|
154
|
+
* //
|
155
|
+
* createFeatureService({
|
156
|
+
* authentication: ArcGISIdentityManager,
|
157
|
+
* item: {
|
158
|
+
* "name": "NewEmptyService",
|
159
|
+
* "capabilities": "Create,Delete,Query,Update,Editing"
|
160
|
+
* }
|
161
|
+
* });
|
162
|
+
* ```
|
163
|
+
* Create a new [hosted feature service](https://developers.arcgis.com/rest/users-groups-and-items/create-service.htm). After the service has been created, call [`addToServiceDefinition()`](../addToServiceDefinition/) if you'd like to update it's schema.
|
164
|
+
* @param requestOptions - Options for the request. NOTE: `rawResponse` is not supported by this operation.
|
165
|
+
* @returns A Promise that resolves with service details once the service has been created
|
166
|
+
*/
|
167
|
+
export function createFeatureService(
|
168
|
+
requestOptions: ICreateServiceOptions
|
169
|
+
): Promise<ICreateServiceResult> {
|
170
|
+
return determineOwner(requestOptions).then((owner) => {
|
171
|
+
const options: ICreateServiceOptions = {
|
172
|
+
...requestOptions,
|
173
|
+
rawResponse: false
|
174
|
+
};
|
175
|
+
const baseUrl = `${getPortalUrl(requestOptions)}/content/users/${owner}`;
|
176
|
+
const folder =
|
177
|
+
!options.folderId || options.folderId === "/"
|
178
|
+
? ""
|
179
|
+
: "/" + options.folderId;
|
180
|
+
const url = `${baseUrl}${folder}/createService`;
|
181
|
+
|
182
|
+
// Create the service
|
183
|
+
options.params = {
|
184
|
+
createParameters: options.item,
|
185
|
+
outputType: "featureService",
|
186
|
+
...options.params
|
187
|
+
};
|
188
|
+
|
189
|
+
return request(url, options);
|
190
|
+
});
|
191
|
+
}
|
@@ -0,0 +1,126 @@
|
|
1
|
+
/* Copyright (c) 2018 Environmental Systems Research Institute, Inc.
|
2
|
+
* Apache-2.0 */
|
3
|
+
|
4
|
+
import {
|
5
|
+
IRequestOptions,
|
6
|
+
IField,
|
7
|
+
IFeature
|
8
|
+
} from "@esri/arcgis-rest-request";
|
9
|
+
|
10
|
+
import { IQueryFeaturesResponse } from "./query.js";
|
11
|
+
import { getLayer } from "./getLayer.js";
|
12
|
+
import { ILayerDefinition } from "./helpers.js";
|
13
|
+
|
14
|
+
/**
|
15
|
+
* Request options to fetch a feature by id.
|
16
|
+
*/
|
17
|
+
export interface IDecodeValuesOptions extends IRequestOptions {
|
18
|
+
/**
|
19
|
+
* Layer service url.
|
20
|
+
*/
|
21
|
+
url?: string;
|
22
|
+
/**
|
23
|
+
* Unique identifier of the feature.
|
24
|
+
*/
|
25
|
+
queryResponse: IQueryFeaturesResponse;
|
26
|
+
/**
|
27
|
+
* * If a fieldset is provided, no internal metadata check will be issued to gather info about coded value domains.
|
28
|
+
*
|
29
|
+
* getFeatureService(url)
|
30
|
+
* .then(metadata => {
|
31
|
+
* queryFeatures({ url })
|
32
|
+
* .then(response => {
|
33
|
+
* decodeValues({
|
34
|
+
* url,
|
35
|
+
* queryResponse,
|
36
|
+
* fields: metadata.fields
|
37
|
+
* })
|
38
|
+
* .then(decodedResponse)
|
39
|
+
* })
|
40
|
+
* })
|
41
|
+
*/
|
42
|
+
fields?: IField[];
|
43
|
+
}
|
44
|
+
|
45
|
+
/**
|
46
|
+
* ```js
|
47
|
+
* import { queryFeatures, decodeValues } from '@esri/arcgis-rest-feature-service';
|
48
|
+
* //
|
49
|
+
* const url = `https://sampleserver6.arcgisonline.com/arcgis/rest/services/ServiceRequest/FeatureServer/0`
|
50
|
+
* queryFeatures({ url })
|
51
|
+
* .then(queryResponse => {
|
52
|
+
* decodeValues({
|
53
|
+
* url,
|
54
|
+
* queryResponse
|
55
|
+
* })
|
56
|
+
* .then(decodedResponse)
|
57
|
+
* })
|
58
|
+
* ```
|
59
|
+
* Replaces the raw coded domain values in a query response with descriptions (for legibility).
|
60
|
+
*
|
61
|
+
* @param requestOptions - Options for the request.
|
62
|
+
* @returns A Promise that will resolve with the addFeatures response.
|
63
|
+
*/
|
64
|
+
export function decodeValues(
|
65
|
+
requestOptions: IDecodeValuesOptions
|
66
|
+
): Promise<IQueryFeaturesResponse> {
|
67
|
+
let prms;
|
68
|
+
if (requestOptions.fields) {
|
69
|
+
prms = Promise.resolve(requestOptions.fields);
|
70
|
+
} else {
|
71
|
+
prms = getLayer({ url: requestOptions.url }).then(
|
72
|
+
(metadata: ILayerDefinition) => {
|
73
|
+
return metadata.fields;
|
74
|
+
}
|
75
|
+
);
|
76
|
+
}
|
77
|
+
return prms.then((fields) => {
|
78
|
+
// extract coded value domains
|
79
|
+
const domains = extractCodedValueDomains(fields);
|
80
|
+
if (Object.keys(domains).length < 1) {
|
81
|
+
// no values to decode
|
82
|
+
return requestOptions.queryResponse;
|
83
|
+
}
|
84
|
+
|
85
|
+
// don't mutate original features
|
86
|
+
const decodedFeatures = requestOptions.queryResponse.features.map(
|
87
|
+
(feature: IFeature) => {
|
88
|
+
const decodedAttributes: { [index: string]: any } = {};
|
89
|
+
for (const key in feature.attributes) {
|
90
|
+
/* istanbul ignore next */
|
91
|
+
if (!Object.prototype.hasOwnProperty.call(feature.attributes, key))
|
92
|
+
continue;
|
93
|
+
const value = feature.attributes[key];
|
94
|
+
const domain = domains[key];
|
95
|
+
decodedAttributes[key] =
|
96
|
+
value !== null && domain ? decodeValue(value, domain) : value;
|
97
|
+
}
|
98
|
+
// merge decoded attributes into the feature
|
99
|
+
return { ...feature, ...{ attributes: decodedAttributes } };
|
100
|
+
}
|
101
|
+
);
|
102
|
+
// merge decoded features into the response
|
103
|
+
return {
|
104
|
+
...requestOptions.queryResponse,
|
105
|
+
...{ features: decodedFeatures }
|
106
|
+
};
|
107
|
+
});
|
108
|
+
}
|
109
|
+
|
110
|
+
function extractCodedValueDomains(fields: IField[]) {
|
111
|
+
return fields.reduce((domains, field) => {
|
112
|
+
const domain = field.domain;
|
113
|
+
if (domain && domain.type === "codedValue") {
|
114
|
+
domains[field.name] = domain;
|
115
|
+
}
|
116
|
+
return domains;
|
117
|
+
}, {} as { [index: string]: any });
|
118
|
+
}
|
119
|
+
|
120
|
+
// TODO: add type for domain?
|
121
|
+
function decodeValue(value: any, domain: any) {
|
122
|
+
const codedValue = domain.codedValues.find((d: any) => {
|
123
|
+
return value === d.code;
|
124
|
+
});
|
125
|
+
return codedValue ? codedValue.name : value;
|
126
|
+
}
|