@hansogj/abonnement-js
Version:
lightweight naive event subscription
2 lines • 3.69 kB
JavaScript
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.abonnement=e():t.abonnement=e()}(this,()=>(()=>{var t={490(t){var e;e=()=>(()=>{"use strict";var t={565(t,e,r){r.d(e,{defined:()=>n,definedList:()=>o});const n=t=>null!=t&&("function"==typeof t||(t.hasOwnProperty("length")?t.length>0:t.hasOwnProperty("size")?t.size>0:"boolean"!=typeof t||t)),o=t=>n(t)&&n(t.constructor)?t.constructor!==[].constructor?[t].filter(t=>n(t)):t.filter(t=>n(t)):[];Array.prototype.defined=n(Array.prototype.defined)?Array.prototype.defined:function(){return o(this)},Array.prototype.allDefined=n(Array.prototype.allDefined)?Array.prototype.allDefined:function(){return this.every(t=>n(t))?this:[]},Array.prototype.first=n(Array.prototype.first)?Array.prototype.first:function(){return this.filter((t,e)=>0===e)},Array.prototype.last=n(Array.prototype.last)?Array.prototype.last:function(){return this.filter((t,e)=>e===this.length-1)}},690(){Array.prototype.flatMap=Array.prototype.flatMap||function(t){return Array.prototype.concat.apply([],this.map(t))}},292(){Array.prototype.hasOwnProperty("onEmpty")||(Array.prototype.onEmpty=function(t){const e=Object(this);return 0===e.length&&t(e),e})}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var s=e[n]={exports:{}};return t[n](s,s.exports,r),s.exports}r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var n={};r.r(n),r.d(n,{defined:()=>o.defined,definedList:()=>o.definedList});var o=r(565);return r(292),r(690),n})(),t.exports=e()}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var s=e[n]={exports:{}};return t[n].call(s.exports,s,s.exports,r),s.exports}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var n={};return(()=>{"use strict";r.r(n),r.d(n,{Abonnement:()=>e,AlleAbonnementer:()=>o,JoinedAbonnement:()=>s});var t=r(490);class e{abonnenter;aktuellVerdi;ren=!0;constructor(t){this.abonnenter=[],this.aktuellVerdi=t}abonner(t,e=!0){const r=this.abonnenter.push(t);return this.aktuellVerdi&&e&&t(this.aktuellVerdi),r-1}varsle(e){return this.abonnenter.map(r=>{((0,t.defined)(e)||(0,t.defined)(this.aktuellVerdi)||this.ren)&&r.call(this,e,this.aktuellVerdi)}),this.ren=!1,this.aktuellVerdi=e,e}get verdi(){return this.aktuellVerdi}avslutt(t){this.abonnenter=this.abonnenter.filter((e,r)=>r!==t)}get __test(){return{abonnenter:this.abonnenter}}}class o extends e{list;avsluttListe;constructor(t){super(),this.list=t,this.avsluttListe=this.list.map((t,e)=>t.abonner(t=>{const r=this.list.map((r,n)=>e===n?t:r.verdi);r.defined().length===this.list.length&&super.varsle(r)}))}avslutt(t){this.avsluttListe.forEach((e,r)=>this.list[r].avslutt(t)),super.avslutt(t)}}class s extends e{list;avsluttListe;constructor(t){super(),this.list=t,this.avsluttListe=this.list.map((t,e)=>t.abonner(t=>{const r=this.list.map((r,n)=>e===n?t:r.verdi);super.varsle(r)}))}avslutt(t){this.avsluttListe.forEach((e,r)=>this.list[r].avslutt(t)),super.avslutt(t)}}})(),n})());
//# sourceMappingURL=abonnement.js.map