UNPKG

ixfx

Version:

Bundle of ixfx libraries

1 lines 27.9 kB
import{n as e}from"./chunk-BKBlUVio.js";import{A as t,Ct as n,Dt as r,G as i,H as a,Ht as o,I as s,K as c,Tt as l,Ut as u,Y as d,_t as f,h as p,n as m}from"./src-DlHqXvlb.js";import{A as h,P as g,o as ee}from"./src-CrVWx2VD.js";import{n as te}from"./src-BnFVBvwz.js";import{_,p as v,w as ne}from"./src-BGZztchK.js";import{g as re,h as ie,v as ae}from"./src-ZyALqz2x.js";import{G as oe,U as se,W as ce}from"./src-CTRxqO-R.js";import{a as le,i as ue,n as de,o as fe,r as pe,t as me}from"./basic-uUF48DoN.js";import{P as he}from"./src-CWZAMrn_.js";import{D as ge}from"./src-wu7Ls46R.js";import{H as _e,a as y,i as ve,j as ye}from"./src-B8K2o5HY.js";function be(e,t={}){let n=t.maximumRepeats??2**53-1,r=t.closeOnError??!0,i=t.interval?p(t.interval):-1,o=t.manual??!1;if(t.interval===void 0&&t.manual===void 0&&(o=!0),o&&t.interval)throw Error(`If option 'manual' is set, option 'interval' cannot be used`);let s=p(t.predelay,0),c=t.lazy??`very`,l=t.signal,u=new AbortController,d=e=>{u.abort(e)},f=0,h=!1,g=e=>{v.dispose(e),h=!1,_&&_.cancel()},ee=async()=>{if(!h)return!1;if(s&&await m(s),f>=n)return g(`Maximum repeats reached ${n.toString()}`),!1;try{if(l?.aborted)return g(`Signal (${l.aborted})`),!1;let t=await e(d);return f++,v.set(t),!0}catch(e){return r?(g(`Function error: ${te(e)}`),!1):(v.signal(`warn`,te(e)),!0)}},_=o?void 0:a(async()=>{if(!await ee())return!1;if(u.signal.aborted)return g(`callback function aborted (${u.signal.reason})`),!1},i),v=M({lazy:c,onStart(){h=!0,_&&_.start()},onStop(){h=!1,_&&_.cancel()}});return c===`never`&&_&&_.start(),{...v,ping:ee}}function xe(e,t={}){let n=t.lazy??`very`,r=t.traceLifecycle?e=>{console.log(`Rx.From.iterator ${e}`)}:e=>{},i=p(t.readInterval,5),a=p(t.readTimeout,300*1e3),o=t.whenStopped??`continue`,s,c,l=ve({idle:[`wait_for_next`],wait_for_next:[`processing_result`,`stopping`,`disposed`],processing_result:[`queued`,`disposed`,`stopping`],queued:[`wait_for_next`,`disposed`,`stopping`],stopping:`idle`,disposed:null},`idle`),u=()=>{r(`onExternalSignal`),c?.abort(t.signal?.reason)};t.signal&&t.signal.addEventListener(`abort`,u,{once:!0});let d=async()=>{r(`read. State: ${l.value}`),c=new AbortController;try{l=y(l,`wait_for_next`);let e=await se(s,{signal:c.signal,millis:a});if(l=y(l,`processing_result`),c.abort(`nextWithTimeout completed`),e.done&&(r(`read v.done true`),f.dispose(`Generator complete`),l=y(l,`disposed`)),l.value===`stopping`){r(`read. sm.value = stopping`),l=y(l,`idle`);return}if(l.value===`disposed`){r(`read. sm.value = disposed`);return}f.set(e.value)}catch(e){f.dispose(`Generator error: ${e.toString()}`);return}l.value===`processing_result`?(l=y(l,`queued`),r(`scheduling read. State: ${l.value}`),setTimeout(d,i)):l=y(l,`idle`)},f=M({...t,lazy:n,onStart(){r(`onStart state: ${l.value} whenStopped: ${o}`),l.value===`idle`&&((l.value===`idle`&&o===`reset`||s===void 0)&&(s=ce(e)?e[Symbol.asyncIterator]():e[Symbol.iterator]()),d())},onStop(){r(`onStop state: ${l.value} whenStopped: ${o}`),l=y(l,`stopping`),o===`reset`&&(r(`onStop reiniting iterator`),s=ce(e)?e[Symbol.asyncIterator]():e[Symbol.iterator]())},onDispose(e){r(`onDispose (${e})`),c?.abort(`Rx.From.iterator disposed (${e})`),t.signal&&t.signal.removeEventListener(`abort`,u)}});return f}function b(e){return e.value===void 0?`signal`in e&&e.signal!==void 0:!1}function x(e){return e.value===void 0?`signal`in e&&e.signal===`done`:!1}function S(e){return e.value!==void 0}const Se=e=>C(e)?`ping`in e:!1,Ce=e=>C(e)?`last`in e&&e.last()!==void 0:!1,C=e=>typeof e!=`object`||!e||!(`on`in e)||!(`onValue`in e)?!1:typeof e.on==`function`&&typeof e.onValue==`function`,w=e=>C(e)?`set`in e:!1,we=e=>!(typeof e!=`object`||!e||!(`source`in e)||!(`annotate`in e)),T=(e,...t)=>n=>e(n,...t),E=e=>`value`in e,D=e=>`fn`in e,O=e=>oe(e),Te=e=>typeof e==`object`?!!(E(e)||D(e)||O(e)):!1;function Ee(e){if(E(e))return[e.value,!1];if(D(e)){let t=e.fn();return t===void 0?[void 0,!0]:[t,!1]}if(O(e)){let t=e.gen.next();return t.done?[void 0,!0]:[t.value,!1]}throw Error(`Invalid trigger. Missing 'value' or 'fn' fields`)}const k=(e,t={})=>{if(C(e))return e;let n=t.generator??{lazy:`initial`,interval:5},r=t.function??{lazy:`very`};if(Array.isArray(e))return xe(e.values(),n);if(typeof e==`function`)return be(e,r);if(typeof e==`object`){if(we(e))return e.source;if(oe(e)||ce(e))return xe(e,n)}throw TypeError(`Unable to resolve source. Supports: array, Reactive, Async/Iterable. Got type: ${typeof e}`)};function A(e,t){let n=t;return e.onValue(e=>{n=e}),{...e,last(){return n},resetCachedValue(){n=void 0}}}function j(e,t){let n=t.lazy??`initial`,r=t.disposeIfSourceDone??!0,i=t.onValue??(e=>{}),a=k(e),o,s=t.debugLabel?`[${t.debugLabel}]`:``,c=()=>{o!==void 0&&(o(),o=void 0,t.onStop&&t.onStop())},l=()=>{o===void 0&&(t.onStart&&t.onStart(),o=a.on(e=>{b(e)?e.signal===`done`?(c(),u.signal(e.signal,e.context),r&&u.dispose(`Upstream source ${s} has completed (${e.context??``})`)):u.signal(e.signal,e.context):S(e)&&i(e.value)}))},u=M({...t,lazy:n,onStart:l,onStop:c});return u}function De(e){return A(M(e),e.initialValue)}function M(e){let t=e.lazy??`initial`,n=e.onStop??(()=>{}),r=e.onStart??(()=>{});e.debugLabel&&`${e.debugLabel}`;let i=N({...e,onFirstSubscribe(){t!==`never`&&r()},onNoSubscribers(){t===`very`&&n()}});return t===`never`&&r(),i}function N(e={}){let t,n=!1,r=!1,i=!0,a=e.onFirstSubscribe??void 0,o=e.onNoSubscribers??void 0,s=e.debugLabel?`[${e.debugLabel}]`:``,c=()=>{t!==void 0&&t.isEmpty&&(i||(i=!0,r=!1,o&&o()))},l=e=>{if(n)throw Error(`Disposed, cannot subscribe ${s}`);t===void 0&&(t=new _e);let o=t.add(e);return i=!1,r||(r=!0,a&&a()),()=>{t?.remove(o),c()}};return{dispose:r=>{n||(t?.notify({value:void 0,signal:`done`,context:`Disposed: ${r}`}),n=!0,e.onDispose&&e.onDispose(r))},isDisposed:()=>n,removeAllSubscribers:()=>{t?.clear(),c()},set:e=>{if(n)throw Error(`${s} Disposed, cannot set`);t?.notify({value:e})},signal:(e,r)=>{if(n)throw Error(`${s} Disposed, cannot signal`);t?.notify({signal:e,value:void 0,context:r})},on:e=>l(e),onValue:e=>l(t=>{S(t)&&e(t.value)})}}const P=e=>({on:e.on,dispose:e.dispose,isDisposed:e.isDisposed,onValue:e.onValue});function F(e,t,n={}){let r=j(e,{...n,onValue(e){let n=t(e);r.set({value:e,annotation:n})}});return P(r)}function I(e,t){let n=k(e);return Z({value:n,annotation:t(n)})}function L(e,t={}){let n=new ae,r=t.quantity??0,i=t.returnRemainder??!0,a=j(e,{...t,onStop(){if(i&&!n.isEmpty){let e=n.toArray();n.clear(),a.set(e)}},onValue(e){n.enqueue(e),r>0&&n.length>=r&&o(),s!==void 0&&s.runState===`idle`&&s.start()}}),o=()=>{if(n.isEmpty)return;s!==void 0&&s.start();let e=n.toArray();n.clear(),setTimeout(()=>{a.set(e)})},s=t.elapsed?ye(o,t.elapsed):void 0;return P(a)}function R(e,t,n={}){let r=n.traceInput??!1,i=n.traceOutput??!1,a=j(e,{lazy:`initial`,...n,onValue(e){let n=t(e);r&&i?console.log(`Rx.Ops.transform input: ${JSON.stringify(e)} output: ${JSON.stringify(n)}`):r?console.log(`Rx.Ops.transform input: ${JSON.stringify(e)}`):i&&console.log(`Rx.Ops.transform output: ${JSON.stringify(n)}`),a.set(n)}});return P(a)}const Oe=e=>R(e,e=>{let t=[];for(let n in e){let r=e[n];(r===null||Array.isArray(r)||ee(r).success)&&t.push([n,r])}return Object.fromEntries(t)});function z(e,t={}){let n=N(),r=t.onSourceDone??`break`,i=[],a=e.map(e=>k(e)),o=()=>{},s=a.map(e=>o),c=a.map(e=>!1),l=()=>{for(let e of s)e()};for(let[e,t]of a.entries())i[e]=void 0,s[e]=t.on(t=>{if(x(t)){if(c[e]=!0,s[e](),s[e]=o,r===`break`){l(),n.dispose(`Source has completed and 'break' is set`);return}c.includes(!1)||(l(),n.dispose(`All sources completed`))}else S(t)&&(i[e]=t.value,n.set([...i]))});return{dispose:n.dispose,isDisposed:n.isDisposed,on:n.on,onValue:n.onValue}}function B(e,n={}){let r=n.eq??l,a=N(),o=N(),s=[],u=e,f=!1,p=e=>{let t=[...i(u??{},e,{...n,includeMissingFromA:!0})];t.length!==0&&(u=e,a.set(e),o.set(t))},m=(e,t)=>{for(let[n,r,i]of s)n(e)&&i.notify({fieldName:e,pattern:r,value:t})},ee={asPartial:!0,includeParents:!0};return{dispose:e=>{f||=(o.dispose(e),a.dispose(e),!0)},isDisposed(){return f},updateField:(e,t)=>{if(u===void 0)throw Error(`Cannot update value when it has not already been set`);let s=c(u,e);if(h(s))throw g(s);if(r(s.value,t,e))return;let l=[...i(s.value,t,{...n,includeMissingFromA:!0})];l=l.map(t=>t.path.length>0?{...t,path:e+`.`+t.path}:{...t,path:e});let f=d(u,e,t,!0);u=f,a.set(f),o.set(l),m(e,t)},last:()=>u,on:a.on,onValue:a.onValue,onDiff:o.onValue,onField(e,n){let r=t(e),i=new _e;s.push([r,e,i]);let a=i.add(n);return()=>i.remove(a)},set:p,update:e=>{if(u===void 0){u=e,a.set(u);for(let[t,n]of Object.entries(e))m(t,n);return u}else{let t=[...i(u,e,ee)];if(t.length===0)return u;u={...u,...e},a.set(u),o.set(t);for(let e of t)m(e.path,e.value);return u}}}}function V(e,t={}){let n=t.disposeSources??!0,r=B(void 0),i=t.onSourceDone??`break`,a=t.emitInitial??!0,o=!1,s=new Map;for(let[t,n]of Object.entries(e)){let e=`last`in n?n.last():void 0,r={source:k(n),done:!1,data:e,off:()=>{}};s.set(t,r)}let c=Object.fromEntries(Object.entries(s).map(e=>[e[0],e[1].source])),l=()=>f(s,e=>!e.done),u=()=>{for(let e of s.values())e.off()},d=()=>{let e={};for(let[t,n]of s)n.data!==void 0&&(e[t]=n.data);return e},p=()=>{o=!0;let e=d();r.set(e)},m=e=>{e.off=e.source.on(t=>{if(x(t)){if(e.done=!0,e.off(),e.off=()=>{},i===`break`){u(),r.dispose(`Source has completed and 'break' is behaviour`);return}l()||(u(),r.dispose(`All sources completed`))}else S(t)&&(e.data=t.value,p())})};for(let e of s.values())m(e);return!o&&a&&p(),{...r,hasSource(e){return s.has(e)},replaceSource(e,t){let n=s.get(e);if(n===void 0)throw Error(`Field does not exist: '${e}'`);n.off(),n.source=k(t),m(n)},setWith(e){let t={};for(let[n,r]of Object.entries(e)){let e=s.get(n);e!==void 0&&(w(e.source)&&(e.source.set(r),t[n]=r),e.data=r)}return t},sources:c,last(){return d()},dispose(e){if(u(),r.dispose(e),n)for(let e of s.values())e.source.dispose(`Part of disposed mergeToObject`)}}}function ke(e,t){let n,r;Ce(e)&&(r=n=e.last());let i=()=>{if(n===void 0&&r!==void 0)n=r,a.set(n);else if(n!==void 0&&r!==void 0){let e=t(n,r);n=e,a.set(e)}},a=j(e,{lazy:`very`,debugLabel:`computeWithPrevious`,onValue(e){r=e,i()}});return r&&i(),{...P(a),ping:()=>{r!==void 0&&i()}}}function Ae(e,t={}){let n=p(t.elapsed,50),r,i=ye(()=>{let e=r;e&&(a.set(e),r=void 0)},n),a=j(e,{...t,onValue(e){r=e,i.start()}});return P(a)}function je(e){return t=>Ae(t,e)}const Me=e=>{let t=0;return R(e,e=>{let n=t===0?0:Date.now()-t;return t=Date.now(),n})};function H(e,t,n={}){let r=n.fallbackFieldValue,i=n.fallbackObject,a=j(e,{disposeIfSourceDone:!0,...n,onValue(e){let n;t in e?n=e[t]:i&&t in i&&(n=i[t]),n===void 0&&(n=r),n!==void 0&&a.set(n)}});return P(a)}function U(e,t,n){if(typeof t!=`function`)throw TypeError(`Param 'predicate' should be a function`);let r=j(e,{...n,onValue(e){t(e)&&r.set(e)}});return P(r)}function Ne(e,t,n){if(typeof t!=`function`)throw TypeError(`Param 'predicate' should be a function`);let r=j(e,{...n,onValue(e){t(e)||r.set(e)}});return P(r)}function Pe(e,t={}){let n=t.amount??.1,r=t.snapAt??.99,i=he(n,t);return ke(e,(e,t)=>{let n=i(e,t);return t>e&&n/t>=r?t:n})}function W(e,t){return Y(de(),`max`,e,t)}function G(e,t){return Y(pe(),`min`,e,t)}function K(e,t){return Y(me(),`average`,e,t)}function q(e,t){return Y(le(),`sum`,e,t)}function J(e,t={}){return Y(fe(t.countArrayItems??!0),`tally`,e,t)}function Fe(e,t,n){return Y(ue(t,n),`rank`,e,n)}function Y(e,t,n,r={}){let i=r.annotate,a,o=r.skipUndefined??!0,s=r.skipIdentical??!0,c=j(n,{...r,onValue(n){let r=e(n);if(!(r===void 0&&o)&&!(s&&r===a))if(a=r,i){let e={value:n};e[t]=r,c.set(e)}else c.set(r)}});return P(c)}const Ie=(...e)=>{let t=N(),n=[],r=r=>{for(let t of e)t.isDisposed||t.dispose(r);for(let e of n)e();t.dispose(r)};for(let i=0;i<e.length;i++)n.push(e[i].on(n=>{let a=i===e.length-1;S(n)?a?t.set(n.value):e[i+1].set(n.value):x(n)&&r(`Upstream disposed`)}));return{on:t.on,onValue:t.onValue,dispose(e){r(e)},isDisposed(){return t.isDisposed()}}};function Le(e,t={}){let n=t.order??`default`;if(!t.at&&!t.predicate)throw Error(`Options must have 'predicate' or 'at' fields`);let r=e=>e;n===`random`?r=_:typeof n==`function`&&(r=e=>e.toSorted(n));let i=j(e,{onValue(e){if(e=r(e),t.predicate)for(let n of e)t.predicate(n)&&i.set(n);else t.at&&i.set(e.at(t.at))}});return i}const Re=(e,t={})=>{let n=t.quantity??2,r=[],i=k(e);for(let e=0;e<n;e++)r.push(j(i,{disposeIfSourceDone:!0,lazy:`initial`}));return r},ze=(e,t)=>{let n=k(e),r={};for(let e of t)r[e]=j(n,{lazy:`initial`,disposeIfSourceDone:!0});return r},Be=(e,t,n={})=>{let r=n.match??`first`,i=k(e),a=!1,o={};for(let e of Object.keys(t))o[e]=N();let s=()=>{if(!a){c(),a=!0;for(let e of Object.values(o))e.dispose(`switcher source dispose`)}},c=i.on(e=>{if(S(e)){for(let[n,i]of Object.entries(t))if(i(e.value)&&(o[n].set(e.value),r===`first`))break}else x(e)&&s()});return o};function X(e,t={}){let n=t.onSourceDone??`break`,r=t.finalValue??`undefined`,i=p(t.maximumWait,2e3),a,o=[],s=e.map(e=>({finalData:void 0,done:!1,source:k(e),unsub:()=>{}})),c=()=>{for(let e of s)e.unsub(),e.unsub=()=>{}},l=()=>{for(let e=0;e<o.length;e++)if(!(n===`allow`&&s[e].done)&&o[e]===void 0)return!1;return!0},u=()=>s.some(e=>!e.done),d=()=>{for(let e=0;e<o.length;e++)r===`last`&&s[e].done||(o[e]=void 0)},f=()=>{m(`Sync timeout exceeded (${i.toString()})`)},m=e=>{a&&clearTimeout(a),c(),g.dispose(e)},h=()=>{a=setTimeout(f,i);for(let[e,t]of s.entries())o[e]=void 0,t.unsub=t.source.on(s=>{if(b(s)){if(s.signal===`done`){if(t.finalData=o[e],t.unsub(),t.done=!0,t.unsub=()=>{},r===`undefined`&&(o[e]=void 0),n===`break`){m(`Source '${e.toString()}' done, and onSourceDone:'break' is set`);return}if(!u()){m(`All sources done`);return}}return}o[e]=s.value,l()&&(g.set([...o]),d(),a&&clearTimeout(a),a=setTimeout(f,i))})},g=N({onFirstSubscribe(){c(),h()},onNoSubscribers(){a&&clearTimeout(a),c()}});return{dispose:g.dispose,isDisposed:g.isDisposed,on:g.on,onValue:g.onValue}}function Z(e,t={}){let r=Object.keys(e);return R(X(Object.values(e),t),e=>n(r,e))}function Ve(e,...t){let n=k(e),r=Process.flow(...t);return n.onValue(e=>{r(e)}),n}function He(e,t){let n=k(e);return n.onValue(e=>{t.set(e)}),n}const Ue=(e,...t)=>{for(let n of t)e=n(e);return e};function We(e,t={}){let n=p(t.elapsed,0),r=performance.now(),i,a=j(e,{...t,onValue(e){i=e,o()}}),o=()=>{let e=performance.now();n>0&&e-r>n&&(r=e,i!==void 0&&a.set(i))};return P(a)}function Ge(e,t){let n,r=t.immediate??!0,i=t.repeat??!1,a=p(t.interval,1e3);if(!Te(t))throw Error(`Param 'options' does not contain trigger 'value' or 'fn' fields`);let o=()=>{let[e,r]=Ee(t);if(r)s.dispose(`Trigger completed`);else{if(s.isDisposed())return;s.set(e),i&&(n=setTimeout(o,a))}},s=j(e,{disposeIfSourceDone:!0,onValue(e){n&&clearTimeout(n),n=setTimeout(o,a),s.set(e)},onDispose(){n&&clearTimeout(n)}});return r&&!n&&(n=setTimeout(o,a)),s}function Ke(e,t){let n,r=k(e),i=t.abort,a=p(t,1e3),o=()=>{if(i?.aborted||r.isDisposed()){c();return}Se(r)&&r.ping(),n=setTimeout(o,a)},s=()=>{n&&clearTimeout(n)},c=r.on(e=>{S(e)?(s(),n=setTimeout(o,a)):x(e)&&(c(),s())});return n=setTimeout(o,a),r}function qe(e,t,n={}){let r=n.lazy??`initial`,i=n.signal,a=k(e),o=n.gate??(e=>!0),s,c;i&&i.addEventListener(`abort`,()=>{d(`Abort signal ${i.reason}`)},{once:!0});let l=N({onFirstSubscribe(){r!==`never`&&s===void 0&&u()},onNoSubscribers(){r===`very`&&s!==void 0&&(s(),s=void 0)}}),u=()=>{s=a.on(e=>{x(e)?d(`Upstream closed`):b(e)?l.signal(e.signal):S(e)&&o(e.value)&&t.ping()}),c=t.on(e=>{x(e)?d(`Downstream closed`):b(e)?l.signal(e.signal,e.context):S(e)&&l.set(e.value)})},d=e=>{l.dispose(e),s&&s(),c&&c()};return r===`never`&&u(),l}function Je(e,t){let n=t.initial,r=j(e,{...t,onValue(e){n=e,r.set(e)}});return{...P(r),last(){return n}}}const Ye=(e,t)=>{let n,r;if(typeof t==`string`&&(r={query:t}),typeof t==`object`&&(r=`nodeName`in t?{el:t}:t),r===void 0)throw TypeError(`Missing element as second parameter or option`);if(`el`in r)n=r.el;else if(`query`in r)n=document.querySelector(r.query);else throw TypeError(`Options does not include 'el' or 'query' fields`);if(n==null)throw Error(`Element could not be resolved.`);let i=k(e),a=ge(r.asHtml?`innerHTML`:`textContent`,n);return i.onValue(e=>{a(e)})};function Xe(e){let t=wt({onNoSubscribers(){e.removeEventListener(`removed`,n),e.removeEventListener(`enqueue`,r)},onFirstSubscribe(){e.addEventListener(`removed`,n),e.addEventListener(`enqueue`,r),t.set(e.toArray())}}),n=e=>{t.set(e.finalData)},r=e=>{t.set(e.finalData)},i=t=>{e.enqueue(...t)};return{...t,set:i}}var Ze=e({asResponsive:()=>Xe});const Qe=(e,t={})=>{if(Array.isArray(e))return $e(e,t)},$e=(e,t={})=>{let n=t.lazy??`initial`,r=t.signal,i=t.whenStopped??`continue`,o=t.debugLifecycle??!1,s=[...e];if(n!==`very`&&i===`reset`)throw Error(`whenStopped:'reset' has no effect with 'lazy:${n}'. Use lazy:'very' instead.`);let c=p(t.interval,5),l=0,u=s[0],d=M({...t,lazy:n,onStart(){o&&console.log(`Rx.readFromArray:onStart`),f.start()},onStop(){o&&console.log(`Rx.readFromArray:onStop. whenStopped: ${i} index: ${l}`),f.cancel(),i===`reset`&&(l=0)}}),f=a(()=>{if(r?.aborted)return d.dispose(`Signalled (${r.reason})`),!1;if(u=s[l],l++,d.set(u),l===s.length)return d.dispose(`Source array complete`),!1},c);return n||f.start(),{dispose:d.dispose,isDisposed:d.isDisposed,isDone(){return l===s.length},last(){return u},on:d.on,onValue:d.onValue}};function et(e=[],t={}){let n=t.eq??r,i=N(),a=N(),o=e,s=!1;return{dispose:e=>{s||=(i.dispose(e),!0)},isDisposed(){return s},last:()=>o,on:i.on,onArray:a.on,onValue:i.onValue,setAt:(e,t)=>{o[e]=t,i.set([...o])},push:e=>{o=[...o,e],i.set([...o]);let t=[`add`,o.length-1,e];a.set([t])},deleteAt:e=>{let t=v(o,e);if(t.length===o.length)return;let r=u(o,t,n);o=t,i.set([...o]),a.set(r.summary)},deleteWhere:e=>{let t=o.filter(t=>!e(t)),r=o.length-t.length,s=u(o,t,n);return o=t,i.set([...o]),a.set(s.summary),r},insertAt:(e,t)=>{let r=ne(o,e,t),s=u(o,r,n);o=r,i.set([...o]),a.set(s.summary)},set:e=>{u(o,e,n),o=e,i.set([...e])}}}function tt(e){let t=e,n=N();return{dispose:n.dispose,isDisposed:n.isDisposed,last:()=>t,on:n.on,onValue:n.onValue,set:e=>{t=e,n.set(e)}}}function nt(e={}){let t=e.lazy??`initial`,n=p(e.interval,1e3),r=e.amount??1,i=e.offset??0,o=0,s=i,c=e=>{u.dispose(e)},l=a(()=>{if(e.signal?.aborted)return c(`Aborted (${e.signal.reason})`),!1;if(u.set(s),s+=1,o++,o>=r)return c(`Limit reached`),!1},n),u=M({onStart(){l.start()},onStop(){l.cancel()},onDispose(){l.cancel()},lazy:t});return u}function rt(e,t,n={}){let i=n.ignoreIdentical??!0,a=n.eq??r,o=V(t),s=t=>{let n=c.last(),r=e(t);if(r!==void 0){if(i&&n!==void 0&&a(r,n))return r;c.set(r)}return r},c=A(j(o,{...n,onValue(e){s(e)}}),e(o.last()));return c}function it(e,t,n,r,i={}){let a={};return a[n]=r,H(at(e,t,a,i),n,i)}function at(e,t,n,r={}){let i;if(typeof e==`string`){if(i=document.querySelector(e),i===null)throw Error(`Target query did not resolve to an element. Query: '${e}'`)}else i=e;if(i===null)throw Error(`Param 'targetOrQuery' is null`);let a=r.debugLifecycle??!1,o=r.debugFiring??!1;r.diff;let s=r.lazy??!1;n===void 0&&(n={});let c=B(n,{deepEntries:!0}),l=!1,u=!1,d=e=>{o&&console.log(`Reactive.event '${t}' firing '${JSON.stringify(e)}`),c.set(e)},f=()=>{l&&(l=!1,i.removeEventListener(t,d),a&&console.log(`Rx.From.event remove '${t}'`))},p=()=>{l||(l=!0,i.addEventListener(t,d),a&&console.log(`Rx.From.event add '${t}'`))};return s||p(),{last:()=>(s&&p(),c.last()),dispose:e=>{u||(u=!0,f(),c.dispose(e))},isDisposed(){return u},on:e=>(s&&p(),c.on(e)),onValue:e=>(s&&p(),c.onValue(e))}}function ot(e,t,n={}){let r;if(typeof e==`string`){if(r=document.querySelector(e),r===null)throw Error(`Target query did not resolve to an element. Query: '${e}'`)}else r=e;if(r===null)throw Error(`Param 'targetOrQuery' is null`);let i=n.debugLifecycle??!1,a=n.debugFiring??!1,o=n.fireInitial??!1,c=0,l=s(),u=M({lazy:n.lazy??`very`,onStart(){r.addEventListener(t,d),i&&console.log(`Rx.From.eventTrigger add '${t}'`),o&&c===0&&((i||a)&&console.log(`Rx.From.eventTrigger: firing initial`),d())},onStop(){r.removeEventListener(t,d),i&&console.log(`Rx.From.eventTrigger remove '${t}'`)}}),d=e=>{a&&console.log(`Rx.From.eventTrigger '${t}' triggered'`),u.set({sinceLast:l(),total:++c})};return u}function st(...e){return ct(e)}function ct(e,t={}){let n=[],r=M({...t,onStart(){for(let t of e)n.push(t.onValue(e=>{r.set(e)}))},onStop(){for(let e of n)e();n=[]}});return r}function lt(e){let t=e,n=N();return{dispose:n.dispose,isDisposed:n.isDisposed,last:()=>t,on:n.on,onValue:n.onValue,set:e=>{t=e,n.set(e)}}}const ut=Symbol(`Rx`),dt=e=>{let t=B(e);return{proxy:new Proxy(e,{set(e,n,r,i){let a=Array.isArray(e);if(a&&n===`length`)return!0;if(typeof n==`string`&&t.updateField(n,r),a&&typeof n==`string`){let t=Number.parseInt(n);if(!Number.isNaN(t))return e[t]=r,!0}return e[n]=r,!0}}),rx:t}},ft=e=>{let t=et(e);return{proxy:new Proxy(e,{set(e,n,r,i){if(n===`length`)return!0;if(typeof n!=`string`)throw Error(`Expected numeric index, got type: ${typeof n} value: ${JSON.stringify(n)}`);let a=Number.parseInt(n);if(Number.isNaN(a))throw Error(`Expected numeric index, got: '${n}'`);return t.setAt(a,r),e[a]=r,!0}}),rx:t}},pt=e=>{let{proxy:t,rx:n}=dt(e),r=t;return r[ut]=n,r};function mt(e){let t=ht(e);return{dispose:t.dispose,isDisposed:t.isDisposed,on:t.on,onValue:t.onValue}}function ht(e){let t=()=>{},n=wt({onFirstSubscribe(){t=e(n)},onNoSubscribers(){t&&t()}});return{...n,onValue:e=>n.on(t=>{S(t)&&e(t.value)})}}function gt(e){let t=e,n=N();return{dispose:n.dispose,isDisposed:n.isDisposed,last:()=>t,on:n.on,onValue:n.onValue,set:e=>{t=e,n.set(e)}}}var _t=e({array:()=>$e,arrayObject:()=>et,arrayProxy:()=>ft,boolean:()=>tt,count:()=>nt,derived:()=>rt,event:()=>at,eventField:()=>it,eventTrigger:()=>ot,func:()=>be,iterator:()=>xe,merged:()=>st,mergedWithOptions:()=>ct,number:()=>lt,object:()=>B,objectProxy:()=>dt,objectProxySymbol:()=>pt,observable:()=>mt,observableWritable:()=>ht,of:()=>Qe,string:()=>gt});function vt(e){let t=re(),n=new Map,r=N(),i=(e,r)=>{for(let[a,o]of Object.entries(e)){let e=r+`.`+a;if(t=ie(t,{from:r,to:e}),C(o))n.set(e,{value:o,type:`rx`}),o.on(t=>{console.log(`Rx.prepare value: ${JSON.stringify(t)} path: ${e}`)});else{let t=typeof o;t===`bigint`||t===`boolean`||t===`number`||t===`string`?n.set(e,{type:`primitive`,value:o}):t===`object`?i(o,e):t===`function`&&console.log(`Rx.process - not handling functions`)}}};return{dispose:r.dispose,isDisposed:r.isDisposed,graph:t,on:r.on,onValue:r.onValue}}async function Q(e,t={}){let n=t.limit??2**53-1,r=p(t.maximumWait,10*1e3),i=t.underThreshold??`partial`,a=[],o=k(e),s;return new Promise((e,c)=>{let l=()=>{if(clearTimeout(s),u(),a.length<n&&i===`throw`){c(Error(`Threshold not reached. Wanted: ${n} got: ${a.length}. Maximum wait: ${r}`));return}if(a.length<n&&i===`fill`)for(let e=0;e<n;e++)a[e]===void 0&&(a[e]=t.fillValue);e(a)},u=o.on(e=>{x(e)?l():S(e)&&(a.push(e.value),a.length===n&&l())});s=setTimeout(()=>{l()},r)})}async function yt(e,t={}){let n=await Q(e,{limit:t.limit??2**53-1,maximumWait:t.maximumWait??5*1e3,underThreshold:`partial`});if(t.limit&&n.length<t.limit)throw Error(`Threshold not reached. Wanted: ${t.limit}, got ${n.length}`);return n}async function*bt(e){let t=k(e),n=e=>{},r=e=>{},i=()=>new Promise((e,t)=>{n=e,r=t}),a=i(),o=!0;for(t.on(e=>{S(e)?(n(e.value),a=i()):x(e)&&(o=!1,r(`Source has completed`))});o;)yield await a}function $(e){return{source:k(e),enacts:{setHtmlText:t=>Ye(e,t)},annotate:t=>$(F(e,t)),annotateWithOp:t=>$(I(e,t)),chunk:t=>$(L(e,t)),debounce:(t={})=>$(Ae(e,t)),field:(t,n={})=>$(H(e,t,n)),filter:(t,n)=>$(U(e,t,n)),combineLatestToArray:(t,n={})=>$(z([e,...t],n)),combineLatestToObject:(t,n)=>{let r=n.name??`source`,i={...t};return i[r]=e,$(V(i,n))},min:(t={})=>$(G(e,t)),max:(t={})=>$(W(e,t)),average:(t={})=>$(K(e,t)),sum:(t={})=>$(q(e,t)),tally:(t={})=>$(J(e,t)),split:(t={})=>Re(e,t).map(e=>$(e)),splitLabelled:(...t)=>o(ze(e,t),e=>$(e.value)),switcher:(t,n={})=>o(Be(e,t,n),e=>$(e.value)),syncToArray:(t,n={})=>$(X([e,...t].map(e=>k(e)),n)),syncToObject:(t,n={})=>{let r=n.name??`source`,i={...t};return i[r]=e,$(Z(i,n))},tapProcess:(...t)=>(Ve(e,...t),$(e)),tapStream:t=>(He(e,t),$(e)),tapOps:(e,...t)=>(Ue(e,...t),$(e)),throttle:(t={})=>$(We(e,t)),transform:(t,n={})=>$(R(e,t,n)),timeoutValue:t=>$(Ge(e,t)),timeoutPing:t=>$(Ke(e,t)),toArray:t=>Q(e,t),toArrayOrThrow:t=>yt(e,t),onValue:t=>{k(e).on(e=>{S(e)&&t(e.value)})}}}var xt=e({Collections:()=>Ze,From:()=>_t,Ops:()=>Et,Sinks:()=>Tt,annotate:()=>F,annotateWithOp:()=>I,average:()=>K,cache:()=>A,chunk:()=>L,cloneFromFields:()=>Oe,combineLatestToArray:()=>z,combineLatestToObject:()=>V,computeWithPrevious:()=>ke,debounce:()=>je,drop:()=>Ne,elapsed:()=>Me,field:()=>H,filter:()=>U,hasLast:()=>Ce,initLazyStream:()=>M,initLazyStreamWithInitial:()=>De,initStream:()=>N,initUpstream:()=>j,interpolate:()=>Pe,isPingable:()=>Se,isReactive:()=>C,isTrigger:()=>Te,isTriggerFunction:()=>D,isTriggerGenerator:()=>O,isTriggerValue:()=>E,isWrapped:()=>we,isWritable:()=>w,manual:()=>wt,max:()=>W,messageHasValue:()=>S,messageIsDoneSignal:()=>x,messageIsSignal:()=>b,min:()=>G,opify:()=>T,pipe:()=>Ie,prepare:()=>vt,rank:()=>Fe,resolveSource:()=>k,resolveTriggerValue:()=>Ee,run:()=>St,setHtmlText:()=>Ye,singleFromArray:()=>Le,split:()=>Re,splitLabelled:()=>ze,sum:()=>q,switcher:()=>Be,symbol:()=>ut,syncToArray:()=>X,syncToObject:()=>Z,takeNextValue:()=>Dt,tally:()=>J,tapOps:()=>Ue,tapProcess:()=>Ve,tapStream:()=>He,throttle:()=>We,timeoutPing:()=>Ke,timeoutValue:()=>Ge,to:()=>Ot,toArray:()=>Q,toArrayOrThrow:()=>yt,toGenerator:()=>bt,transform:()=>R,valueToPing:()=>qe,withValue:()=>Je,wrap:()=>$,writable:()=>Ct});function St(e,...t){let n=k(e);for(let e of t)n=e(n);return n}function Ct(e,...t){let n=k(e),r=n;for(let e of t)n=e(n);return{...n,set(e){if(w(r))r.set(e);else throw Error(`Original source is not writable`)}}}function wt(e={}){let t=N(e);return{dispose:t.dispose,isDisposed:t.isDisposed,set(e){t.set(e)},on:t.on,onValue:t.onValue}}const Tt={setHtmlText:e=>t=>{Ye(t,e)}},Et={annotate:e=>t=>F(t,e),annotateWithOp:e=>t=>I(t,e),chunk:e=>t=>L(t,e),cloneFromFields:()=>e=>Oe(e),combineLatestToArray:(e={})=>t=>z(t,e),combineLatestToObject:(e={})=>t=>V(t,e),drop:(e,t={})=>n=>Ne(n,e,t),elapsed:()=>T(Me),field:(e,t={})=>n=>H(n,e,t),filter:(e,t={})=>n=>U(n,e,t),interpolate:e=>t=>Pe(t,e),min:e=>T(G,e),max:e=>T(W,e),sum:e=>T(q,e),average:e=>T(K,e),tally:e=>T(J,e),rank:(e,t)=>T(Fe,e,t),pipe:(...e)=>t=>Ie(k(t),...e),singleFromArray:(e={})=>t=>Le(t,e),split:(e={})=>t=>Re(t,e),splitLabelled:e=>t=>ze(t,e),switcher:(e,t={})=>n=>Be(n,e,t),syncToArray:(e={})=>t=>X(t,e),syncToObject:(e={})=>t=>Z(t,e),tapProcess:e=>t=>Ve(t,e),tapStream:e=>t=>He(t,e),tapOps:(...e)=>t=>Ue(t,...e),throttle:e=>T(We,e),timeoutValue:e=>t=>Ge(t,e),timeoutPing:e=>t=>Ke(t,e),transform:(e,t={})=>n=>R(n,e,t),withValue:e=>T(Je,e)};async function Dt(e,t=1e3){let n=k(e),r=()=>{},i;return new Promise((e,a)=>{r=n.on(t=>{i&&clearTimeout(i),S(t)?(r(),e(t.value)):x(t)&&(a(Error(`Source closed. ${t.context??``}`)),r())}),i=setTimeout(()=>{i=void 0,r(),a(Error(`Timeout waiting for value (${JSON.stringify(t)})`))},p(t))})}function Ot(e,t,n,r=!1){let i=e.on(e=>{if(S(e)){let r=n?n(e.value):e.value;t.set(r)}else x(e)&&(i(),r&&t.dispose(`Source closed (${e.context??``})`))});return i}export{R as $,X as A,q as B,Ke as C,Ve as D,Ue as E,Ie as F,H as G,Pe as H,K as I,ke as J,Me as K,W as L,Re as M,ze as N,He as O,Le as P,Oe as Q,G as R,qe as S,Ee as St,We as T,Ne as U,J as V,U as W,B as X,V as Y,z as Z,at as _,w as _t,xt as a,N as at,Ye as b,b as bt,Ct as c,k as ct,Q as d,C as dt,L as et,yt as f,Te as ft,ut as g,we as gt,mt as h,E as ht,St as i,De as it,Be as j,Z as k,$ as l,Ce as lt,_t as m,O as mt,Tt as n,I as nt,Dt as o,j as ot,vt as p,D as pt,je as q,wt as r,M as rt,Ot as s,A as st,Et as t,F as tt,bt as u,Se as ut,ot as v,S as vt,Ge as w,Je as x,T as xt,Ze as y,x as yt,Fe as z};