@rnacanvas/utilities 6.0.0 → 6.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -109,14 +109,67 @@ containsFocus(ele1); // true
109
109
  containsFocus(ele2); // true
110
110
  ```
111
111
 
112
+ ## `class DownloadableFile`
113
+
114
+ Represents a file that can be downloaded by the user.
115
+
116
+ ```javascript
117
+ var file = new DownloadableFile('A file.txt', 'Some text.', { type: 'text/plain' });
118
+
119
+ file.name; // "A file.txt"
120
+ file.content; // "Some text."
121
+ file.type; // "text/plain"
122
+
123
+ // download the file for the user
124
+ file.download();
125
+ ```
126
+
127
+ A blob can be used in place of a string
128
+ for the content of a downloadable file.
129
+
130
+ ```javascript
131
+ var blob = new Blob(['<p>Hello</p>'], { type: 'text/html' });
132
+
133
+ var file1 = new DownloadableFile('hello.html', blob);
134
+
135
+ // specifying file type overrides blob type
136
+ var file2 = new DownloadableFile('hello.txt', blob, { type: 'text/plain' });
137
+
138
+ file2.type; // "text/plain"
139
+ file1.type; // "text/html"
140
+ ```
141
+
142
+ All constructor parameters are optional.
143
+
144
+ ```javascript
145
+ var file = new DownloadableFile();
146
+
147
+ // default values
148
+ file.name; // "Unnamed.txt"
149
+ file.content; // ""
150
+ file.type; // "text/plain"
151
+ ```
152
+
112
153
  ## `class KeyBinding`
113
154
 
114
155
  The `KeyBinding` class represents a key binding.
115
156
 
116
157
  See the [@rnacanvas/key-bindings](https://pzhaojohnson.github.io/rnacanvas.key-bindings/) package for documentation.
117
158
 
159
+ ## `function detectWindows()`
160
+
161
+ Returns `true` if it is detected that the user is using Windows
162
+ and returns `false` otherwise.
163
+
164
+ ```javascript
165
+ detectWindows();
166
+ ```
167
+
118
168
  ## `function detectMacOS()`
119
169
 
120
- Returns `true` if it is detected that the user is using macOS.
170
+ Returns `true` if it is detected that the user is using macOS
171
+ and returns `false` otherwise.
121
172
 
122
- Returns `false` otherwise.
173
+ ```javascript
174
+ detectMacOS();
175
+ ```
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Returns true if it is detected that the user is using Windows.
3
+ *
4
+ * Returns false otherwise.
5
+ */
6
+ export declare function detectWindows(): boolean;
7
+ //# sourceMappingURL=detectWindows.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detectWindows.d.ts","sourceRoot":"","sources":["../src/detectWindows.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAEvC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Returns the first item in the array.
3
+ *
4
+ * Throws for empty arrays.
5
+ */
6
+ export declare function first<T>(items: T[]): T | never;
7
+ //# sourceMappingURL=first.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"first.d.ts","sourceRoot":"","sources":["../src/first.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAM9C"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,5 @@
1
+ import { first } from './first';
2
+ export { first };
1
3
  import { splitLines } from './splitLines';
2
4
  export { splitLines };
3
5
  import { isJSONSerializable } from './isJSONSerializable';
@@ -10,6 +12,8 @@ import { containsFocus } from './containsFocus';
10
12
  export { containsFocus };
11
13
  import { KeyBinding } from '@rnacanvas/key-bindings';
12
14
  export { KeyBinding };
15
+ import { detectWindows } from './detectWindows';
16
+ export { detectWindows };
13
17
  import { detectMacOS } from './detectMacOS';
14
18
  export { detectMacOS };
15
19
  import { DownloadableFile } from './DownloadableFile';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,CAAC;AAEtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAE9B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,CAAC;AAEpB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,CAAC;AAEpB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,CAAC;AAEtB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAE5B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvB,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,CAAC;AAEtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAE9B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,CAAC;AAEpB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,CAAC;AAEpB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,CAAC;AAEtB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAE5B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvB,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,CAAC"}
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.utilities=t():e.utilities=t()}(this,()=>(()=>{var e={992:function(e){var t;t=()=>(()=>{"use strict";var e={d:(t,r)=>{for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{KeyBinding:()=>p});var r,n,i,o,s,a,l,c,h,u,d=function(e,t,r,n,i){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?i.call(e,r):i?i.value=r:t.set(e,r),r},f=function(e,t,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)};class p{constructor(e,t,a){r.add(this),this.key=e,n.set(this,void 0),i.set(this,void 0),o.set(this,void 0),s.set(this,void 0),d(this,n,t,"f"),d(this,i,e=>f(this,r,"m",u).call(this,e),"f"),d(this,o,a,"f")}get owner(){return f(this,s,"f")}set owner(e){var t;null===(t=f(this,s,"f"))||void 0===t||t.removeEventListener("keydown",f(this,i,"f")),null==e||e.addEventListener("keydown",f(this,i,"f"),{passive:!1}),d(this,s,e,"f")}}return n=new WeakMap,i=new WeakMap,o=new WeakMap,s=new WeakMap,r=new WeakSet,a=function(){var e,t;return null!==(t=null===(e=f(this,o,"f"))||void 0===e?void 0:e.altKey)&&void 0!==t&&t},l=function(){var e,t;return null!==(t=null===(e=f(this,o,"f"))||void 0===e?void 0:e.ctrlKey)&&void 0!==t&&t},c=function(){var e,t;return null!==(t=null===(e=f(this,o,"f"))||void 0===e?void 0:e.metaKey)&&void 0!==t&&t},h=function(){var e,t;return null!==(t=null===(e=f(this,o,"f"))||void 0===e?void 0:e.shiftKey)&&void 0!==t&&t},u=function(e){this.owner&&this.owner===document.activeElement&&e.key.toUpperCase()===this.key.toUpperCase()&&e.altKey===f(this,r,"a",a)&&e.ctrlKey===f(this,r,"a",l)&&e.metaKey===f(this,r,"a",c)&&e.shiftKey===f(this,r,"a",h)&&(e.preventDefault(),f(this,n,"f").call(this))},t})(),e.exports=t()}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var o=t[n]={exports:{}};return e[n].call(o.exports,o,o.exports,r),o.exports}r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};return(()=>{"use strict";function e(e){return e.split(/\r\n|\r|\n/)}function t(e){try{return JSON.stringify(e),!0}catch(e){return!1}}function i(e){return e.map(e=>({v:e,priority:Math.random()})).sort((e,t)=>e.priority-t.priority).map(({v:e})=>e)}function o(e){return e===document.activeElement}function s(e){return!!document.activeElement&&e.contains(document.activeElement)}r.r(n),r.d(n,{DownloadableFile:()=>d,EventfulSet:()=>f,FiniteStack:()=>g,KeyBinding:()=>a.KeyBinding,containsFocus:()=>s,detectMacOS:()=>l,hasFocus:()=>o,isJSONSerializable:()=>t,isURL:()=>b,shuffled:()=>i,splitLines:()=>e});var a=r(992);function l(){try{return window.navigator.platform.toLowerCase().includes("mac")}catch(e){return!1}}var c,h=function(e,t,r,n,i){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?i.call(e,r):i?i.value=r:t.set(e,r),r},u=function(e,t,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)};class d{constructor(e,t,r){c.set(this,void 0),this.name=null!=e?e:"Unnamed.txt",this.content=null!=t?t:"",h(this,c,null==r?void 0:r.type,"f")}get type(){return null!=u(this,c,"f")?u(this,c,"f"):this.content instanceof Blob?this.content.type:"text/plain"}set type(e){h(this,c,e,"f")}download(){let e=new File([this.content],this.name,{type:this.type}),t=URL.createObjectURL(e),r=document.createElement("a");r.href=t,r.download=e.name,document.body.appendChild(r),r.click(),r.remove(),URL.revokeObjectURL(t)}}c=new WeakMap;class f{constructor(){this.eventListeners={change:[]},this.underlyingSet=new Set}[Symbol.iterator](){return this.underlyingSet.values()}includes(e){return this.underlyingSet.has(e)}include(e){return this.includes(e)}addAll(e){let t=[...e];0!=t.length&&(t.every(e=>this.includes(e))||(t.forEach(e=>this.underlyingSet.add(e)),this.callEventListeners("change")))}removeAll(e){let t=[...e];0!=t.length&&(t.every(e=>!this.includes(e))||(t.forEach(e=>this.underlyingSet.delete(e)),this.callEventListeners("change")))}clear(){0!=this.underlyingSet.size&&(this.underlyingSet.clear(),this.callEventListeners("change"))}addEventListener(e,t){this.eventListeners[e].push(t)}callEventListeners(e){this.eventListeners[e].forEach(e=>e())}removeEventListener(e,t){this.eventListeners[e]=this.eventListeners[e].filter(e=>e!==t)}}var p,v,y,w,m=function(e,t,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)};class g{constructor(e){p.add(this),this.maxSize=e,v.set(this,[]),y.set(this,{change:[]})}get size(){return m(this,v,"f").length}isEmpty(){return 0==this.size}empty(){0!=this.size&&(function(e,t,r,n,i){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");"a"===n?i.call(e,r):i?i.value=r:t.set(e,r)}(this,v,[],"f"),m(this,p,"m",w).call(this,"change"))}peek(){if(0==this.size)throw new Error("The stack is empty.");return m(this,v,"f")[m(this,v,"f").length-1]}push(e){m(this,v,"f").push(e),this.size>this.maxSize&&m(this,v,"f").shift(),m(this,p,"m",w).call(this,"change")}pop(){if(0==this.size)throw new Error("The stack is empty.");let e=m(this,v,"f").pop();return m(this,p,"m",w).call(this,"change"),e}addEventListener(e,t){m(this,y,"f")[e].push(t)}removeEventListener(e,t){m(this,y,"f")[e]=m(this,y,"f")[e].filter(e=>e!==t)}}function b(e){try{return new URL(e),!0}catch(e){return!1}}v=new WeakMap,y=new WeakMap,p=new WeakSet,w=function(e){m(this,y,"f")[e].forEach(e=>e())}})(),n})());
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.utilities=t():e.utilities=t()}(this,()=>(()=>{var e={992:function(e){var t;t=()=>(()=>{"use strict";var e={d:(t,r)=>{for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{KeyBinding:()=>p});var r,n,i,o,s,a,l,c,h,u,d=function(e,t,r,n,i){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?i.call(e,r):i?i.value=r:t.set(e,r),r},f=function(e,t,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)};class p{constructor(e,t,a){r.add(this),this.key=e,n.set(this,void 0),i.set(this,void 0),o.set(this,void 0),s.set(this,void 0),d(this,n,t,"f"),d(this,i,e=>f(this,r,"m",u).call(this,e),"f"),d(this,o,a,"f")}get owner(){return f(this,s,"f")}set owner(e){var t;null===(t=f(this,s,"f"))||void 0===t||t.removeEventListener("keydown",f(this,i,"f")),null==e||e.addEventListener("keydown",f(this,i,"f"),{passive:!1}),d(this,s,e,"f")}}return n=new WeakMap,i=new WeakMap,o=new WeakMap,s=new WeakMap,r=new WeakSet,a=function(){var e,t;return null!==(t=null===(e=f(this,o,"f"))||void 0===e?void 0:e.altKey)&&void 0!==t&&t},l=function(){var e,t;return null!==(t=null===(e=f(this,o,"f"))||void 0===e?void 0:e.ctrlKey)&&void 0!==t&&t},c=function(){var e,t;return null!==(t=null===(e=f(this,o,"f"))||void 0===e?void 0:e.metaKey)&&void 0!==t&&t},h=function(){var e,t;return null!==(t=null===(e=f(this,o,"f"))||void 0===e?void 0:e.shiftKey)&&void 0!==t&&t},u=function(e){this.owner&&this.owner===document.activeElement&&e.key.toUpperCase()===this.key.toUpperCase()&&e.altKey===f(this,r,"a",a)&&e.ctrlKey===f(this,r,"a",l)&&e.metaKey===f(this,r,"a",c)&&e.shiftKey===f(this,r,"a",h)&&(e.preventDefault(),f(this,n,"f").call(this))},t})(),e.exports=t()}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var o=t[n]={exports:{}};return e[n].call(o.exports,o,o.exports,r),o.exports}r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};return(()=>{"use strict";function e(e){if(e.length>0)return e[0];throw new Error("Array is empty.")}function t(e){return e.split(/\r\n|\r|\n/)}function i(e){try{return JSON.stringify(e),!0}catch(e){return!1}}function o(e){return e.map(e=>({v:e,priority:Math.random()})).sort((e,t)=>e.priority-t.priority).map(({v:e})=>e)}function s(e){return e===document.activeElement}function a(e){return!!document.activeElement&&e.contains(document.activeElement)}r.r(n),r.d(n,{DownloadableFile:()=>p,EventfulSet:()=>v,FiniteStack:()=>E,KeyBinding:()=>l.KeyBinding,containsFocus:()=>a,detectMacOS:()=>h,detectWindows:()=>c,first:()=>e,hasFocus:()=>s,isJSONSerializable:()=>i,isURL:()=>S,shuffled:()=>o,splitLines:()=>t});var l=r(992);function c(){return-1!==navigator.userAgent.indexOf("Windows")}function h(){try{return window.navigator.platform.toLowerCase().includes("mac")}catch(e){return!1}}var u,d=function(e,t,r,n,i){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?i.call(e,r):i?i.value=r:t.set(e,r),r},f=function(e,t,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)};class p{constructor(e,t,r){u.set(this,void 0),this.name=null!=e?e:"Unnamed.txt",this.content=null!=t?t:"",d(this,u,null==r?void 0:r.type,"f")}get type(){return null!=f(this,u,"f")?f(this,u,"f"):this.content instanceof Blob?this.content.type:"text/plain"}set type(e){d(this,u,e,"f")}download(){let e=new File([this.content],this.name,{type:this.type}),t=URL.createObjectURL(e),r=document.createElement("a");r.href=t,r.download=e.name,document.body.appendChild(r),r.click(),r.remove(),URL.revokeObjectURL(t)}}u=new WeakMap;class v{constructor(){this.eventListeners={change:[]},this.underlyingSet=new Set}[Symbol.iterator](){return this.underlyingSet.values()}includes(e){return this.underlyingSet.has(e)}include(e){return this.includes(e)}addAll(e){let t=[...e];0!=t.length&&(t.every(e=>this.includes(e))||(t.forEach(e=>this.underlyingSet.add(e)),this.callEventListeners("change")))}removeAll(e){let t=[...e];0!=t.length&&(t.every(e=>!this.includes(e))||(t.forEach(e=>this.underlyingSet.delete(e)),this.callEventListeners("change")))}clear(){0!=this.underlyingSet.size&&(this.underlyingSet.clear(),this.callEventListeners("change"))}addEventListener(e,t){this.eventListeners[e].push(t)}callEventListeners(e){this.eventListeners[e].forEach(e=>e())}removeEventListener(e,t){this.eventListeners[e]=this.eventListeners[e].filter(e=>e!==t)}}var y,w,m,g,b=function(e,t,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)};class E{constructor(e){y.add(this),this.maxSize=e,w.set(this,[]),m.set(this,{change:[]})}get size(){return b(this,w,"f").length}isEmpty(){return 0==this.size}empty(){0!=this.size&&(function(e,t,r,n,i){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");"a"===n?i.call(e,r):i?i.value=r:t.set(e,r)}(this,w,[],"f"),b(this,y,"m",g).call(this,"change"))}peek(){if(0==this.size)throw new Error("The stack is empty.");return b(this,w,"f")[b(this,w,"f").length-1]}push(e){b(this,w,"f").push(e),this.size>this.maxSize&&b(this,w,"f").shift(),b(this,y,"m",g).call(this,"change")}pop(){if(0==this.size)throw new Error("The stack is empty.");let e=b(this,w,"f").pop();return b(this,y,"m",g).call(this,"change"),e}addEventListener(e,t){b(this,m,"f")[e].push(t)}removeEventListener(e,t){b(this,m,"f")[e]=b(this,m,"f")[e].filter(e=>e!==t)}}function S(e){try{return new URL(e),!0}catch(e){return!1}}w=new WeakMap,m=new WeakMap,y=new WeakSet,g=function(e){b(this,m,"f")[e].forEach(e=>e())}})(),n})());
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rnacanvas/utilities",
3
- "version": "6.0.0",
3
+ "version": "6.2.0",
4
4
  "description": "General utilities",
5
5
  "main": "./dist/index.js",
6
6
  "scripts": {