@onesy/subscription
Version:
Subscription method management
7 lines (6 loc) • 9.17 kB
JavaScript
/** @license Subscription v1.0.0
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).Subscription=t()}(this,(function(){"use strict";function e(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var t="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function r(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var n={exports:{}};!function(e,r){Object.defineProperty(r,"__esModule",{value:!0});const n={},o="undefined"!=typeof window&&void 0!==window.document,a=!(void 0===t||!e.exports);r.default=function e(t,r,s={}){var i;const u=Object.assign(Object.assign({},n),s),{variant:c}=u,l=r&&"object"==typeof r&&Object.getPrototypeOf(r);switch(t){case"string":return"string"==typeof r;case"number":return"number"==typeof r&&!Number.isNaN(r);case"boolean":return"boolean"==typeof r;case"array":return Array.isArray(r);case"object":return"object"==typeof r&&!!r&&r.constructor===Object;case"object-like":return"object"==typeof r&&(null===r||r.constructor!==Object);case"class":return("object"==typeof r||"function"==typeof r)&&(/class/gi.test(String(r))||/class/gi.test(String(null==r?void 0:r.constructor)));case"function":return!!(r&&r instanceof Function);case"async":return!(!e("function",r)||!(o?"AsyncFunction"===r.constructor.name:r()instanceof Promise));case"map":return!(l!==Map.prototype);case"weakmap":return!(l!==WeakMap.prototype);case"set":return!(l!==Set.prototype);case"weakset":return!(l!==WeakSet.prototype);case"promise":return!(l!==Promise.prototype);case"int8array":return!(l!==Int8Array.prototype);case"uint8array":return!(l!==Uint8Array.prototype);case"uint8clampedarray":return!(l!==Uint8ClampedArray.prototype);case"int16array":return!(l!==Int16Array.prototype);case"uint16array":return!(l!==Uint16Array.prototype);case"int32array":return!(l!==Int32Array.prototype);case"uint32array":return!(l!==Uint32Array.prototype);case"float32array":return!(l!==Float32Array.prototype);case"float64array":return!(l!==Float64Array.prototype);case"bigint64array":return!(l!==BigInt64Array.prototype);case"biguint64array":return!(l!==BigUint64Array.prototype);case"typedarray":return e("int8array",r)||e("uint8array",r)||e("uint8clampedarray",r)||e("int16array",r)||e("uint16array",r)||e("int32array",r)||e("uint32array",r)||e("float32array",r)||e("float64array",r)||e("bigint64array",r)||e("biguint64array",r);case"dataview":return!(l!==DataView.prototype);case"arraybuffer":return!(l!==ArrayBuffer.prototype);case"sharedarraybuffer":return"undefined"!=typeof SharedArrayBuffer&&!(l!==SharedArrayBuffer.prototype);case"symbol":return!("symbol"!=typeof r);case"error":return!!(r&&r instanceof Error);case"date":return!!(r&&r instanceof Date);case"regexp":return!!(r&&r instanceof RegExp);case"arguments":return!(!r||"[object Arguments]"!==r.toString());case"null":return null===r;case"undefined":return void 0===r;case"blob":return o&&r instanceof Blob;case"buffer":return!(!a||"function"!=typeof(null===(i=null==r?void 0:r.constructor)||void 0===i?void 0:i.isBuffer)||!r.constructor.isBuffer(r));case"element":if(r)switch(c){case void 0:case"html":case"element":return o&&("object"==typeof HTMLElement?r instanceof HTMLElement:r&&"object"==typeof r&&null!==r&&1===r.nodeType&&"string"==typeof r.nodeName);case"node":return o&&("object"==typeof Node?r instanceof Node:r&&"object"==typeof r&&null!==r&&"number"==typeof r.nodeType&&"string"==typeof r.nodeName);case"react":return r.elementType||r.hasOwnProperty("$$typeof");default:return!1}return!1;case"simple":return e("string",r,u)||e("number",r,u)||e("boolean",r,u)||e("undefined",r,u)||e("null",r,u);case"not-array-object":return!e("array",r,u)&&!e("object",r,u);default:return!1}}}(n,n.exports);var o=r(n.exports),a={};Object.defineProperty(a,"__esModule",{value:!0});const s=e=>Array.isArray(e),i=e=>"object"==typeof e&&!!e&&e.constructor===Object,u=(e,t)=>{const r=t||new WeakSet;if(r.has(e))return e;if((i(e)||s(e))&&r.add(e),s(e))return e.map((e=>u(e,r)));if(i(e)){const t={};return Object.keys(e).forEach((n=>t[n]=u(e[n],r))),t}return e};var c=a.default=u,l={},f={};Object.defineProperty(f,"__esModule",{value:!0});f.default=()=>"undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==t?t:void 0;var d={},p={},y={},h=function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(y,"__esModule",{value:!0});const b=h(n.exports);y.default=e=>(0,b.default)("string",e)?`${e.charAt(0).toUpperCase()}${e.slice(1)}`:e,function(e){var t=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,"__esModule",{value:!0}),e.optionsDefault=void 0;const r=t(n.exports),o=t(y);e.optionsDefault={filters:[",",".","-","_","s+"],replaceWith:" ",trim:!0};e.default=(t,n={})=>{try{const a=Object.assign(Object.assign({},e.optionsDefault),n);if(a.className&&(a.replaceWith="-",a.cammelCaseTransform=!0,a.lowercase=!0),(0,r.default)("string",t)){let e=t;if(a.url){const t=e.split("?").filter(Boolean);let r=t[0];const n=t[1];return"/"===r.slice(-1)&&(r=r.slice(0,-1)),e=n?[r,n].join("?"):r,e}return a.cammelCaseTransform&&(e=e.split(/(?=[A-Z])/g).join(a.replaceWith||" ")),a.filters.forEach((t=>{const r=new RegExp(`\\${t}`,"g");e=e.replace(r,a.replaceWith||" ")})),a.trim&&(e=e.trim()),a.capitalize&&(e=(0,o.default)(e)),a.lowercase&&(e=e.toLocaleLowerCase()),e}return t}catch(e){}return t}}(p);var m={},v=function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(m,"__esModule",{value:!0});const g=v(n.exports),j={decode:!1,decodeMethod:decodeURIComponent};m.default=(e,t={})=>{const r=Object.assign(Object.assign({},j),t);let n=e;try{(0,g.default)("string",e)&&r.decode&&(0,g.default)("function",r.decodeMethod)&&(n=r.decodeMethod(e))}catch(e){}try{if((0,g.default)("string",n)){if("undefined"===n)return;return"NaN"===n?NaN:JSON.parse(n)}return n}catch(e){}return n};var O=function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(d,"__esModule",{value:!0});const A=O(n.exports),_=O(p),w=O(m),M={valueOverride:!1},x=(e,t="",r,n={})=>{const o=Object.assign(Object.assign({},M),n);if(!e&&!t)return e;if((0,A.default)("string",t)){const n=t.split(".").filter(Boolean).map((e=>(0,w.default)(e)));return x(e,n,r,o)}if((0,A.default)("array",t)){const n=t[0],a=(0,_.default)(String(n),{filters:[".",","],replaceWith:""});if(1!==t.length){((0,A.default)("array",e)&&(0,A.default)("number",n)||(0,A.default)("object",e))&&((null==e?void 0:e.hasOwnProperty(n))&&!o.valueOverride||(e[a]=(0,A.default)("number",t[1])?[]:{}));const s=e[a];return(0,A.default)("object",s)||(0,A.default)("array",s)?x(e[n],t.slice(1),r,o):e}((0,A.default)("array",e)&&(0,A.default)("number",n)||(0,A.default)("object",e))&&((null==e?void 0:e.hasOwnProperty(n))&&!o.valueOverride||(e[a]=(0,A.default)("number",t[1])?[]:{}),e[(0,A.default)("string",n)?a:n]=r)}return e};d.default=x;var P=function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(l,"__esModule",{value:!0});const N=P(n.exports),T=P(f),S=P(d),U={};var B=l.default=(e,t={})=>{var r,n,o,a;const s=Object.assign(Object.assign({},U),t);try{return(0,N.default)("function",e)?e():void 0}catch(e){if(s.log){console.error("Try: ",e);const t=(0,T.default)();"test"===(null===(r=t.AMAUI)||void 0===r?void 0:r.env)&&((null===(a=null===(o=null===(n=t.AMAUI)||void 0===n?void 0:n.test)||void 0===o?void 0:o.Try)||void 0===a?void 0:a.logs)||(0,S.default)(t,"AMAUI.test.Try.logs",[]),t.AMAUI.test.Try.logs.push(e))}}};const I={emit:{priorValue:!0,copy:!1,pre:{},post:{}}};var E=class{constructor(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e(this,"methods",[]),e(this,"push",this.emit),this.value=t,this.options=r,this.options={...I,...this.options}}get length(){return this.methods.length}emit(e){for(var t,r,n,a=arguments.length,s=new Array(a>1?a-1:0),i=1;i<a;i++)s[i-1]=arguments[i];const u=[e,...s];null!==(t=this.options.emit)&&void 0!==t&&t.priorValue&&(this.value=1===u.length?u[0]:u),o("function",null===(r=this.options.emit.pre)||void 0===r?void 0:r.method)&&this.options.emit.pre.method(...u);const l=this.options.emit.copy?c(u):u,f=this.methods.filter((e=>o("function",e)));for(const e of f)B((()=>e(...l)));o("function",null===(n=this.options.emit.post)||void 0===n?void 0:n.method)&&this.options.emit.post.method(...u)}forEach(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.methods.forEach((e=>B((()=>e(...t)))))}map(e){if(!this.methods.length)return;let t=e;for(const e of this.methods)t=B((()=>e(t)));return t}subscribe(e){o("function",e)&&-1===this.methods.indexOf(e)&&this.methods.push(e);const t=this;return{unsubscribe:()=>{t.unsubscribe(e)}}}unsubscribe(e){if(o("function",e)&&this.methods.indexOf(e)>-1){const t=this.methods.findIndex((t=>t===e));t>-1&&this.methods.splice(t,1)}}};return E}));