@esri/arcgis-rest-feature-service
Version:
Feature layer query and edit helpers for @esri/arcgis-rest-js
8 lines (7 loc) • 6.81 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)
*/
import{cleanUrl as e,appendCustomParams as t,request as r}from"@esri/arcgis-rest-request";import{determineOwner as n,getPortalUrl as s}from"@esri/arcgis-rest-portal";function a(n){const s=`${e(n.url)}/addFeatures`,a=t(n,["features","gdbVersion","returnEditMoment","rollbackOnFailure"],{params:Object.assign({},n.params)});return r(s,a)}function i(t){const n=Object.assign({params:{}},t);return n.params.attachment=t.attachment,r(`${e(n.url)}/${n.featureId}/addAttachment`,n)}function o(t,n){const s=`${e(t).replace("/rest/services","/rest/admin/services")}/addToDefinition`;return n.params=Object.assign({addToDefinition:{}},n.params),n.layers&&n.layers.length>0&&(n.params.addToDefinition.layers=n.layers),n.tables&&n.tables.length>0&&(n.params.addToDefinition.tables=n.tables),r(s,n)}function u(n){const s=`${e(n.url)}/applyEdits`,a=t(n,["adds","updates","deletes","useGlobalIds","attachments","gdbVersion","returnEditMoment","rollbackOnFailure","trueCurveClient"],{params:Object.assign({},n.params)});return r(s,a)}function c(e){return n(e).then((t=>{const n=Object.assign(Object.assign({},e),{rawResponse:!1}),a=`${`${s(e)}/content/users/${t}`}${n.folderId&&"/"!==n.folderId?"/"+n.folderId:""}/createService`;return n.params=Object.assign({createParameters:n.item,outputType:"featureService"},n.params),r(a,n)}))}function l(t){return r(e(t.url),t)}function d(e){let t;return t=e.fields?Promise.resolve(e.fields):l({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 n=e.queryResponse.features.map((e=>{const t={};for(const n in e.attributes){if(!Object.prototype.hasOwnProperty.call(e.attributes,n))continue;const s=e.attributes[n],a=r[n];t[n]=null!==s&&a?p(s,a):s}return Object.assign(Object.assign({},e),{attributes:t})}));return Object.assign(Object.assign({},e.queryResponse),{features:n})}))}function p(e,t){const r=t.codedValues.find((t=>e===t.code));return r?r.name:e}function m(n){const s=`${e(n.url)}/deleteFeatures`,a=t(n,["where","objectIds","gdbVersion","returnEditMoment","rollbackOnFailure"],{params:Object.assign({},n.params)});return r(s,a)}function f(t){const n=Object.assign({params:{}},t);return n.params.attachmentIds=t.attachmentIds,r(`${e(n.url)}/${n.featureId}/deleteAttachments`,n)}const b=new RegExp(/.+(?:map|feature|image)server/i);function h(t){const r=t.match(b);return r?r[0]:function(t){const r=t.split("?")[0];return e(r)}(t)}function O(e){const{url:t}=e,n=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(n=Object.getOwnPropertySymbols(e);s<n.length;s++)t.indexOf(n[s])<0&&Object.prototype.propertyIsEnumerable.call(e,n[s])&&(r[n[s]]=e[n[s]])}return r}(e,["url"]),s=`${h(t)}/layers`;return r(s,n)}function g(t){const n=Object.assign({httpMethod:"GET"},t);return r(`${e(n.url)}/${n.featureId}/attachments`,n)}function y(t){return r(e(t.url),t)}function j(e,t){const n=e.replace("/rest/services","/rest/admin/services");return r(n,{authentication:t,params:{f:"json"}})}function $(e,t){return r(`${e}/sources`,{authentication:t})}function F(t){const n=`${e(t.url)}/${t.id}`,s=Object.assign({httpMethod:"GET"},t);return r(n,s).then((e=>s.rawResponse?e:e.feature))}function v(n){const s=t(n,["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:"*"},n.params)});return r(`${e(n.url)}/query`,s)}async function I(n){var s,a;let i=0,o=!0,u=null;const c=(await r(n.url,{httpMethod:"GET",authentication:n.authentication})).maxRecordCount||2e3,l=null===(s=n.params)||void 0===s?void 0:s.resultRecordCount,d=l&&l<=c?l:c;for(;o;){const s=Object.assign(Object.assign({},n),{params:Object.assign(Object.assign({where:"1=1",outFields:"*"},n.params||{}),{resultOffset:i,resultRecordCount:d})}),l=t(s,["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},s.params)}),p=await r(`${e(n.url)}/query`,l);u?u.features=u.features.concat(p.features):u=Object.assign({},p);const m=p.features.length,f=p.exceededTransferLimit||(null===(a=p.properties)||void 0===a?void 0:a.exceededTransferLimit);m<c||!f?o=!1:i+=c}return u}function R(n){const s=t(n,["objectIds","relationshipId","definitionExpression","outFields"],{httpMethod:"GET",params:Object.assign({definitionExpression:"1=1",outFields:"*",relationshipId:0},n.params)});return r(`${e(n.url)}/queryRelatedRecords`,s)}function T(n){const s=`${e(n.url)}/updateFeatures`,a=t(n,["features","gdbVersion","returnEditMoment","rollbackOnFailure","trueCurveClient"],{params:Object.assign({},n.params)});return r(s,a)}function E(t){const n=Object.assign({params:{}},t);return n.params.attachment=t.attachment,n.params.attachmentId=t.attachmentId,r(`${e(n.url)}/${n.featureId}/updateAttachment`,n)}function w(t,n){const s=`${e(t).replace("/rest/services","/rest/admin/services")}/updateDefinition`;return n.params=Object.assign({updateDefinition:{}},n.params),n.updateDefinition&&(n.params.updateDefinition=n.updateDefinition),r(s,n)}export{i as addAttachment,a as addFeatures,o as addToServiceDefinition,u as applyEdits,c as createFeatureService,d as decodeValues,f as deleteAttachments,m as deleteFeatures,O as getAllLayersAndTables,g as getAttachments,F as getFeature,l as getLayer,y as getService,j as getServiceAdminInfo,$ as getViewSources,h as parseServiceUrl,I as queryAllFeatures,v as queryFeatures,R as queryRelated,E as updateAttachment,T as updateFeatures,w as updateServiceDefinition};
//# sourceMappingURL=feature-service.esm.min.js.map