@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
6 lines (5 loc) • 1.16 kB
JavaScript
/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
*/
import r from"../../core/Error.js";import{verifyBasicFieldValidity as e}from"./support/utils.js";import{verifyBinningParams as i}from"../support/binningUtils.js";import{binningCapableLayerTypes as t,defaultSupportedLayerTypes as a,createLayerAdapter as n,getLayerTypeLabels as o}from"../support/adapters/support/layerUtils.js";async function s(s){if(!(s&&s.layer&&s.view&&s.fields))throw new r("predominant-categories:missing-parameters","'layer', 'view' and 'fields' parameters are required");s.forBinning&&i(s,"predominant-categories");const{layer:p,...l}=s,m=s.forBinning?t:a,d=n(p,m,s.forBinning);if(!d)throw new r("predominant-categories:invalid-parameters","'layer' must be one of these types: "+o(m).join(", "));const f={layerAdapter:d,...l};await Promise.all([f.view.when(),d.load({signal:f.signal})]);const c=e(d,f.fields,"predominant-categories:invalid-parameters");if(c)throw c;return f}async function p(r){const{layerAdapter:e,...i}=await s(r);return e.predominantCategories(i)}export{p as default};