@esri/arcgis-rest-feature-service
Version:
Feature layer query and edit helpers for @esri/arcgis-rest-js
8 lines (7 loc) • 7.5 kB
JavaScript
/* @preserve
* @esri/arcgis-rest-feature-service - v4.4.0 - Apache-2.0
* Copyright (c) 2017-2025 Esri, Inc.
* Thu Sep 25 2025 23:37:47 GMT+0000 (Coordinated Universal Time)
*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@esri/arcgis-rest-request"),require("@esri/arcgis-rest-portal")):"function"==typeof define&&define.amd?define(["exports","@esri/arcgis-rest-request","@esri/arcgis-rest-portal"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).arcgisRest=e.arcgisRest||{},e.arcgisRest,e.arcgisRest)}(this,(function(e,t,r){"use strict";function s(e){return t.request(t.cleanUrl(e.url),e)}function n(e,t){const r=t.codedValues.find((t=>e===t.code));return r?r.name:e}const a=new RegExp(/.+(?:map|feature|image)server/i);function i(e){const r=e.match(a);return r?r[0]:function(e){const r=e.split("?")[0];return t.cleanUrl(r)}(e)}e.addAttachment=function(e){const r=Object.assign({params:{}},e);return r.params.attachment=e.attachment,t.request(`${t.cleanUrl(r.url)}/${r.featureId}/addAttachment`,r)},e.addFeatures=function(e){const r=`${t.cleanUrl(e.url)}/addFeatures`,s=t.appendCustomParams(e,["features","gdbVersion","returnEditMoment","rollbackOnFailure"],{params:Object.assign({},e.params)});return t.request(r,s)},e.addToServiceDefinition=function(e,r){const s=`${t.cleanUrl(e).replace("/rest/services","/rest/admin/services")}/addToDefinition`;return r.params=Object.assign({addToDefinition:{}},r.params),r.layers&&r.layers.length>0&&(r.params.addToDefinition.layers=r.layers),r.tables&&r.tables.length>0&&(r.params.addToDefinition.tables=r.tables),t.request(s,r)},e.applyEdits=function(e){const r=`${t.cleanUrl(e.url)}/applyEdits`,s=t.appendCustomParams(e,["adds","updates","deletes","useGlobalIds","attachments","gdbVersion","returnEditMoment","rollbackOnFailure","trueCurveClient"],{params:Object.assign({},e.params)});return t.request(r,s)},e.createFeatureService=function(e){return r.determineOwner(e).then((s=>{const n=Object.assign(Object.assign({},e),{rawResponse:!1}),a=`${`${r.getPortalUrl(e)}/content/users/${s}`}${n.folderId&&"/"!==n.folderId?"/"+n.folderId:""}/createService`;return n.params=Object.assign({createParameters:n.item,outputType:"featureService"},n.params),t.request(a,n)}))},e.decodeValues=function(e){let t;return t=e.fields?Promise.resolve(e.fields):s({url:e.url}).then((e=>e.fields)),t.then((t=>{const r=function(e){return e.reduce(((e,t)=>{const r=t.domain;return r&&"codedValue"===r.type&&(e[t.name]=r),e}),{})}(t);if(Object.keys(r).length<1)return e.queryResponse;const s=e.queryResponse.features.map((e=>{const t={};for(const s in e.attributes){if(!Object.prototype.hasOwnProperty.call(e.attributes,s))continue;const a=e.attributes[s],i=r[s];t[s]=null!==a&&i?n(a,i):a}return Object.assign(Object.assign({},e),{attributes:t})}));return Object.assign(Object.assign({},e.queryResponse),{features:s})}))},e.deleteAttachments=function(e){const r=Object.assign({params:{}},e);return r.params.attachmentIds=e.attachmentIds,t.request(`${t.cleanUrl(r.url)}/${r.featureId}/deleteAttachments`,r)},e.deleteFeatures=function(e){const r=`${t.cleanUrl(e.url)}/deleteFeatures`,s=t.appendCustomParams(e,["where","objectIds","gdbVersion","returnEditMoment","rollbackOnFailure"],{params:Object.assign({},e.params)});return t.request(r,s)},e.getAllLayersAndTables=function(e){const{url:r}=e,s=function(e,t){var r={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.indexOf(s)<0&&(r[s]=e[s]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(s=Object.getOwnPropertySymbols(e);n<s.length;n++)t.indexOf(s[n])<0&&Object.prototype.propertyIsEnumerable.call(e,s[n])&&(r[s[n]]=e[s[n]])}return r}(e,["url"]),n=`${i(r)}/layers`;return t.request(n,s)},e.getAttachments=function(e){const r=Object.assign({httpMethod:"GET"},e);return t.request(`${t.cleanUrl(r.url)}/${r.featureId}/attachments`,r)},e.getFeature=function(e){const r=`${t.cleanUrl(e.url)}/${e.id}`,s=Object.assign({httpMethod:"GET"},e);return t.request(r,s).then((e=>s.rawResponse?e:e.feature))},e.getLayer=s,e.getService=function(e){return t.request(t.cleanUrl(e.url),e)},e.getServiceAdminInfo=function(e,r){const s=e.replace("/rest/services","/rest/admin/services");return t.request(s,{authentication:r,params:{f:"json"}})},e.getViewSources=function(e,r){return t.request(`${e}/sources`,{authentication:r})},e.parseServiceUrl=i,e.queryAllFeatures=async function(e){var r,s;let n=0,a=!0,i=null;const u=(await t.request(e.url,{httpMethod:"GET",authentication:e.authentication})).maxRecordCount||2e3,o=null===(r=e.params)||void 0===r?void 0:r.resultRecordCount,c=o&&o<=u?o:u;for(;a;){const r=Object.assign(Object.assign({},e),{params:Object.assign(Object.assign({where:"1=1",outFields:"*"},e.params||{}),{resultOffset:n,resultRecordCount:c})}),o=t.appendCustomParams(r,["where","objectIds","relationParam","time","distance","units","outFields","geometry","geometryType","spatialRel","returnGeometry","maxAllowableOffset","geometryPrecision","inSR","outSR","gdbVersion","orderByFields","groupByFieldsForStatistics","outStatistics","returnZ","returnM","multipatchOption","resultOffset","resultRecordCount","quantizationParameters","resultType","historicMoment","returnTrueCurves","sqlFormat","f"],{httpMethod:"GET",params:Object.assign({where:"1=1",outFields:"*",returnExceededLimitFeatures:!0},r.params)}),l=await t.request(`${t.cleanUrl(e.url)}/query`,o);i?i.features=i.features.concat(l.features):i=Object.assign({},l);const d=l.features.length,p=l.exceededTransferLimit||(null===(s=l.properties)||void 0===s?void 0:s.exceededTransferLimit);d<u||!p?a=!1:n+=u}return i},e.queryFeatures=function(e){const r=t.appendCustomParams(e,["where","objectIds","relationParam","time","distance","units","outFields","geometry","geometryType","spatialRel","returnGeometry","maxAllowableOffset","geometryPrecision","inSR","outSR","gdbVersion","returnDistinctValues","returnIdsOnly","returnCountOnly","returnExtentOnly","orderByFields","groupByFieldsForStatistics","outStatistics","returnZ","returnM","multipatchOption","resultOffset","resultRecordCount","quantizationParameters","returnCentroid","resultType","historicMoment","returnTrueCurves","sqlFormat","returnExceededLimitFeatures","f"],{httpMethod:"GET",params:Object.assign({where:"1=1",outFields:"*"},e.params)});return t.request(`${t.cleanUrl(e.url)}/query`,r)},e.queryRelated=function(e){const r=t.appendCustomParams(e,["objectIds","relationshipId","definitionExpression","outFields"],{httpMethod:"GET",params:Object.assign({definitionExpression:"1=1",outFields:"*",relationshipId:0},e.params)});return t.request(`${t.cleanUrl(e.url)}/queryRelatedRecords`,r)},e.updateAttachment=function(e){const r=Object.assign({params:{}},e);return r.params.attachment=e.attachment,r.params.attachmentId=e.attachmentId,t.request(`${t.cleanUrl(r.url)}/${r.featureId}/updateAttachment`,r)},e.updateFeatures=function(e){const r=`${t.cleanUrl(e.url)}/updateFeatures`,s=t.appendCustomParams(e,["features","gdbVersion","returnEditMoment","rollbackOnFailure","trueCurveClient"],{params:Object.assign({},e.params)});return t.request(r,s)},e.updateServiceDefinition=function(e,r){const s=`${t.cleanUrl(e).replace("/rest/services","/rest/admin/services")}/updateDefinition`;return r.params=Object.assign({updateDefinition:{}},r.params),r.updateDefinition&&(r.params.updateDefinition=r.updateDefinition),t.request(s,r)},Object.defineProperty(e,"__esModule",{value:!0})}));
//# sourceMappingURL=feature-service.umd.min.js.map