UNPKG

ix

Version:

The Interactive Extensions for JavaScript

21 lines (19 loc) 8.69 kB
(function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'], factory) : (factory(global.Ix = global.Ix || {})); }(this, (function (exports) {const h=a=>"function"===typeof a,k=a=>null!=a&&Object(a)===a;function l(a){return k(a)&&"number"===typeof a.length}function m(a){return null!=a&&h(a[Symbol.iterator])}function n(a){return k(a)&&!h(a[Symbol.iterator])&&h(a.next)}function p(a){return null!=a&&Object(a)===a&&"function"===typeof a.subscribe}const q=a=>k(a)&&h(a.pipe)&&h(a._read)&&"boolean"===typeof a.readable&&k(a._readableState),v=a=>k(a)&&h(a.end)&&h(a._write)&&"boolean"===typeof a.writable&&k(a._writableState);class w extends Error{constructor(a="The operation has been aborted"){super(a);Object.setPrototypeOf(this,w.prototype);Error.captureStackTrace(this,this.constructor);this.name="AbortError"}get [Symbol.toStringTag](){return"AbortError"}}function x(a){if(a&&a.aborted)throw new w;}Object.defineProperty(w,Symbol.hasInstance,{writable:!0,configurable:!0,value(a){return k(a)&&("AbortError"===a.constructor.name||"AbortError"===a[Symbol.toStringTag])}});function y(a){return a}async function z(a){return a};function A(a,b){return"undefined"===typeof b?a:function(c,d){return a.call(b,c,d)}};function B(a){a=Number(a);return isNaN(a)?0:0!==a&&isFinite(a)?(0<a?1:-1)*Math.floor(Math.abs(a)):a};const C=Math.pow(2,53)-1;class D{forEach(a,b){a=A(a,b);b=0;for(const c of this)a(c,b++)}pipe(...a){let b=-1;const c=a.length;let d=this;for(;++b<c;)d=a[b](D.as(d));return d}static as(a){return a instanceof D?a:"string"===typeof a?new E([a],y):m(a)||l(a)?new E(a,y):new E([a],y)}static from(a,b=y,c){b=A(b,c);if(m(a)||l(a))return new E(a,b);if(n(a))return new E({[Symbol.iterator]:()=>a},b);throw new TypeError("Input type not supported");}}D.prototype[Symbol.toStringTag]="IterableX"; Object.defineProperty(D,Symbol.hasInstance,{writable:!0,configurable:!0,value(a){return!(!a||"IterableX"!==a[Symbol.toStringTag])}});class E extends D{constructor(a,b){super();this.g=a;this.B=b}*[Symbol.iterator](){let a=0;if(m(this.g))for(var b of this.g)yield this.B(b,a++);else for(b=Math.min(Math.max(B(this.g.length),0),C);a<b;)yield this.B(this.g[a],a++)}} try{(a=>{if(!a){D.prototype.pipe=function(...c){let d=-1;const f=c.length;let e=this,g;for(;++d<f;)if(g=c[d],"function"===typeof g)e=g(D.as(e));else if(v(g))return{end:c=!0}=c[d+1]||{},q(e)?e.pipe(g,{end:c}):D.as(e).H(b(g)).pipe(g,{end:c});return e};var b=(c,d=c.F||{G:!0})=>d}})("object"===typeof window&&"object"===typeof document&&9===document.nodeType)}catch(a){};const F="function"===typeof Symbol&&Symbol.observable||"@@observable";class G{async forEach(a,b,c){const d=c?new H(this,c):this;let f=0;for await(const e of d)await a.call(b,e,f++,c)}pipe(...a){let b=-1;const c=a.length;let d=this;for(;++b<c;)d=a[b](G.as(d));return d}static from(a,b=z,c){b=A(b,c);if(m(a)||k(a)&&h(a[Symbol.asyncIterator]))return new I(a,b);if(k(a)&&h(a.then))return new J(a,b);if(p(a))return new K(a,b);if(l(a))return new L(a,b);if(n(a))return new I({[Symbol.asyncIterator]:()=>a},b);throw new TypeError("Input type not supported");}static as(a){return a instanceof G?a:"string"===typeof a?new L([a],z):m(a)||k(a)&&h(a[Symbol.asyncIterator])?new I(a,z):k(a)&&h(a.then)?new J(a,z):p(a)?new K(a,z):l(a)?new L(a,z):new L([a],z)}}G.prototype[Symbol.toStringTag]="AsyncIterableX";Object.defineProperty(G,Symbol.hasInstance,{writable:!0,configurable:!0,value(a){return!(!a||"AsyncIterableX"!==a[Symbol.toStringTag])}}); function M(a,b){if(a.o)throw Error("AsyncSink already ended");if(0<a.j.length){const {resolve:c,reject:d}=a.j.shift();"error"===b.type?d(b.error):c({done:!1,value:b.value})}else a.A.push(b)} class N{constructor(){this.o=!1;this.A=[];this.j=[]}[Symbol.asyncIterator](){return this}write(a){M(this,{type:"value",value:a})}error(a){M(this,{type:"error",error:a})}next(){if(0<this.A.length){const {type:a,value:b,error:c}=this.A.shift();return"error"===a?Promise.reject(c):Promise.resolve({done:!1,value:b})}return this.o?Promise.resolve({done:!0}):new Promise((a,b)=>{this.j.push({resolve:a,reject:b})})}end(){for(;0<this.j.length;)this.j.shift().resolve({done:!0});this.o=!0}} class L extends G{constructor(a,b){super();this.g=a;this.h=b}async*[Symbol.asyncIterator](){let a=0;const b=Math.min(Math.max(B(this.g.length),0),C);for(;a<b;)yield await this.h(this.g[a],a++)}}class I extends G{constructor(a,b){super();this.g=a;this.h=b}async*[Symbol.asyncIterator](a){let b=0;if(a&&this.g instanceof G)for await(var c of new H(this.g,a))yield await this.h(c,b++);else{x(a);for await(const d of this.g)x(a),c=await this.h(d,b++),x(a),yield c}}} class J extends G{constructor(a,b){super();this.g=a;this.h=b}async*[Symbol.asyncIterator](){const a=await this.g;yield await this.h(a,0)}} class K extends G{constructor(a,b){super();this.D=a;this.h=b}async*[Symbol.asyncIterator](a){function b(){c.error(new w)}x(a);const c=new N,d=this.D.subscribe({next(e){c.write(e)},error(e){c.error(e)},complete(){c.end()}});a&&a.addEventListener("abort",b);let f=0;try{for(let e;!(e=await c.next()).done;)x(a),yield await this.h(e.value,f++)}finally{a&&a.removeEventListener("abort",b),d.unsubscribe()}}} class H{constructor(a,b){this.g=a;this.v=b}[Symbol.asyncIterator](){return this.g[Symbol.asyncIterator](this.v)}}try{(a=>{if(!a){G.prototype.pipe=function(...c){let d=-1;const f=c.length;let e=this,g;for(;++d<f;)if(g=c[d],"function"===typeof g)e=g(G.as(e));else if(v(g))return{end:c=!0}=c[d+1]||{},q(e)?e.pipe(g,{end:c}):G.as(e).H(b(g)).pipe(g,{end:c});return e};var b=(c,d=c.F||{G:!0})=>d}})("object"===typeof window&&"object"===typeof document&&9===document.nodeType)}catch(a){};function O(a,b){return a>b?1:a<b?-1:0};class P extends D{constructor(a){super();this.g=a}*[Symbol.iterator](){const a=Array.from(this.g),b=a.length,c=Array(b);for(let d=0;d<b;d++)c[d]=d;c.sort(this.i(a));for(const d of c)yield a[d]}thenBy(a,b=O){return new Q(this.g,a,b,!1,this)}thenByDescending(a,b=O){return new Q(this.g,a,b,!0,this)}} class Q extends P{constructor(a,b,c,d,f){super(a);this.s=b;this.l=c;this.m=d;this.u=f}i(a,b){const c=a.map(this.s),d=this.l,f=this.u,e=this.m,g=(r,t)=>{const u=d(c[r],c[t]);return 0===u?b?b(r,t):r-t:e?-u:u};return f?f.i(a,g):g}};class R extends G{constructor(a,b){super();this.g=a;this.v=b}[Symbol.asyncIterator](){return this.g[Symbol.asyncIterator](this.v)}};async function S(a,b){x(b);const c=[];for await(const d of b?new R(a,b):a)c.push(d);return c};class T extends G{constructor(a){super();this.g=a}async*[Symbol.asyncIterator](a){x(a);a=await S(this.g,a);const b=a.length,c=Array(b);for(let d=0;d<b;d++)c[d]=d;c.sort(this.i(a));for(const d of c)yield a[d]}thenBy(a,b=O){return new U(this.g,a,b,!1,this)}thenByDescending(a,b=O){return new U(this.g,a,b,!0,this)}} class U extends T{constructor(a,b,c,d,f){super(a);this.s=b;this.l=c;this.m=d;this.u=f}i(a,b){const c=a.map(this.s),d=this.l,f=this.u,e=this.m,g=(r,t)=>{const u=d(c[r],c[t]);return 0===u?b?b(r,t):r-t:e?-u:u};return f?f.i(a,g):g}};const aa="undefined"!==typeof SharedArrayBuffer?SharedArrayBuffer:ArrayBuffer;class V extends G{constructor(a){super();this.C=a}[Symbol.asyncIterator](){const a=this.C,b=a.getReader();return W(a,b,ba(b))}}class X extends V{[Symbol.asyncIterator](){var a=this.C;let b;try{b=a.getReader({mode:"byob"})}catch(c){return super[Symbol.asyncIterator]()}a=W(a,b,ca(b));a.next();return a}} async function*W(a,b,c){let d=!1;try{yield*c}catch(f){(d=!0,b)&&await b.cancel(f)}finally{if(b&&(d||await b.cancel(),a.locked))try{b.closed.catch(()=>{}),b.releaseLock()}catch(f){}}}async function*ba(a){let b;for(;!(b=await a.read()).done;)yield b.value}async function*ca(a){var b;for(b=yield null;!(b=await da(a,b)).done;)b=yield b.value} async function da(a,b){let c;if("number"===typeof b)c=new ArrayBuffer(b);else if(b instanceof ArrayBuffer)b=(c=b).byteLength;else if(b instanceof aa)b=(c=b).byteLength;else return{done:!0,value:void 0};return await Y(a,c,0,b)}async function Y(a,b,c,d){if(c>=d)return{done:!1,value:new Uint8Array(b,0,d)};const {done:f,value:e}=await a.read(new Uint8Array(b,c,d-c));return(c+=e.byteLength)<d&&!f?await Y(a,e.buffer,c,d):{done:f,value:new Uint8Array(e.buffer,0,c)}};var Z={};Z.AbortError=w;Z.AsyncIterable=G;Z.AsyncIterableReadableByteStream=X;Z.AsyncIterableReadableStream=V;Z.AsyncSink=N;Z.Iterable=D;Z.OrderedAsyncIterable=U;Z.OrderedAsyncIterableBase=T;Z.OrderedIterable=Q;Z.OrderedIterableBase=P;Z.fromDOMStream=function(a,b){return b&&"byob"===b.mode?new X(a):new V(a)};Z.symbolObservable=F;Object.assign(arguments[0],Z);}.bind(this)))); //# sourceMappingURL=dom.esnext.min.js.map