/* COPYRIGHT Esri - https://js.arcgis.com/5.1.0/LICENSE.txt */
function n(n){const t=[];return function*(){yield*t;let e,o=t.length;for(;!(e=n.next()).done;)for(t.push(e.value),yield e.value;++o<t.length;)yield t[o]}}const t=Object.freeze({done:!0,value:void 0});function e(n){const e=[];let o=null,l=null,u=!1;async function r(){if(u)return t;if(null!=l)return l;l=n.next();try{const n=await l;return l=null,n.done?(u=!0,t):(e.push(n.value),n)}catch(r){throw u=!0,l=null,o=r,r}}return async function*(){yield*e;let n,t=e.length;for(;!(n=await r()).done;)for(yield n.value;++t<e.length;)yield e[t];if(null!=o)throw o}}function o(n,t){for(const e of n)if(null!=e&&t(e))return e}function l(n,t){for(const e of n)if(t(e))return!0;return!1}function u(n){return null!=n&&"function"==typeof n[Symbol.iterator]}function r(n){return n.done?void 0:n.value}export{n as cache,e as cacheAsync,o as find,r as getYieldedValue,u as isIterable,l as some};
