12345 |
- /*
- All material copyright ESRI, All Rights Reserved, unless otherwise specified.
- See https://js.arcgis.com/4.24/esri/copyright.txt for details.
- */
- import e from"../../core/Error.js";import{isSome as r}from"../../core/maybe.js";import{verifyBasicFieldValidity as s}from"./support/utils.js";import{getFieldsList as i}from"../support/utils.js";import{createLayerAdapter as a,defaultSupportedLayerTypes as n,getLayerTypeLabels as o}from"../support/adapters/support/layerUtils.js";async function t(t){if(!t||!t.layer||!t.field&&!t.valueExpression)throw new e("unique-values:missing-parameters","'layer' and 'field' or 'valueExpression' parameters are required");const u=t.valueExpression||t.sqlExpression,l=u&&!t.sqlExpression;if(u)if(l){if(!t.view)throw new e("unique-values:missing-parameters","View is required when 'valueExpression' is specified")}else if(!t.valueExpression)throw new e("unique-values:missing-parameters","'valueExpression' parameters are required");const{layer:p,...m}=t,f=a(p,n),d={layerAdapter:f,...m};if(!f)throw new e("unique-values:invalid-parameters","'layer' must be one of these types: "+o(n).join(", "));const v=r(d.signal)?{signal:d.signal}:null;await f.load(v);const w=await i({field:d.field,valueExpression:d.valueExpression}),c=s(f,w,"unique-values:invalid-parameters");if(c)throw c;return d}async function u(e){const{layerAdapter:r,...s}=await t(e);return r.uniqueValues(s)}export{u as default};
|