flat-pair 1.1.0 → 1.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
@@ -14,7 +14,7 @@ For more awesome packages, check out [my homepage💛](https://baendlorel.github
14
14
  - 🛡️ **Type Safe**: Full TypeScript support with generic types
15
15
  - 🎯 **Zero Cost**: Static methods available for minimal overhead
16
16
  - ⚡ **Lightweight**: No dependencies, minimal bundle size
17
- - 🌲 **Native Behavior**: `forEach`, `find` acts like they are in `Array`. Equality check uses `Object.is`
17
+ - 🌲 **Native Behavior**: `forEach`, `find` acts like they are in `Array`. Equality check uses `SameValueZero`
18
18
 
19
19
  ## Installation / Import
20
20
 
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- const t=Object.is;function r(t){const r=t.length;if(r%2!=0)throw new Error("Invalid items length, must be even number");return r/2}function e(r,e,n){const i=r.length;for(let n=0;n<i;n+=2)if(t(r[n],e))return;r.push(e,n)}function n(r,e){const n=r.length;for(let i=0;i<n;i+=2)if(t(r[i],e))return!0;return!1}function i(r,e){const n=r.length;for(let i=1;i<n;i+=2)if(t(r[i],e))return!0;return!1}function u(r,e){const n=r.length;for(let i=0;i<n;i+=2)if(t(r[i],e))return r[i+1]}function o(r,e){const n=r.length;for(let i=1;i<n;i+=2)if(t(r[i],e))return r[i-1]}function s(r,e){const n=r.length;for(let i=0;i<n;i+=2)if(t(r[i],e))return r.splice(i,2),!0;return!1}function f(r,e){const n=r.length;for(let i=1;i<n;i+=2)if(t(r[i],e))return r.splice(i-1,2),!0;return!1}function l(t,r,e){const n=t.length;for(let i=0;i<n;i+=2)i in t&&r.call(e,t[i+1],t[i],i,t)}function c(t){t.length=0}function h(t,r){const e=t.length;for(let n=0;n<e;n++){if(r(t[n+1],t[n],n,t))return[t[n],t[n+1]]}}function a(t,r){const e=t.length;for(let n=0;n<e;n++){if(r(t[n+1],t[n],n,t))return n}return-1}class y{static from(t){if("[object Map]"!==Object.prototype.toString.call(t))throw new TypeError("[FlatPair: __func__] Argument must be a Map");const r=[];return t.forEach((t,e)=>r.push(e,t)),new y(r)}t=[];constructor(t){if(t.length%2!=0)throw new TypeError("FlatPair items length must be even");this.t=t}get size(){return this.t.length/2}get array(){return this.t}add(t,r){return e(this.t,t,r),this}hasByValue(t){return i(this.t,t)}remove(t){return s(this.t,t)}removeByValue(t){return f(this.t,t)}get(t){return u(this.t,t)}getByValue(t){return o(this.t,t)}find(t){return h(this.t,t)}findIndex(t){return a(this.t,t)}clear(){this.t.length=0}has(t){return n(this.t,t)}forEach(t,r){l(this.t,t,r)}*keys(){for(let t=0;t<this.t.length;t+=2)yield this.t[t]}*values(){for(let t=1;t<this.t.length;t+=2)yield this.t[t]}*entries(){for(let t=0;t<this.t.length;t+=2)yield[this.t[t],this.t[t+1]]}[Symbol.iterator](){return this.entries()}}class d{add(t,r,n){e(t,r,n)}remove(t,r){return s(t,r)}get(t,r){return u(t,r)}getByValue(t,r){return o(t,r)}find(t,r){return h(t,r)}findIndex(t,r){return a(t,r)}removeByValue(t,r){return f(t,r)}forEach(t,r,e){l(t,r,e)}*keys(t){for(let r=0;r<t.length;r+=2)yield t[r]}*values(t){for(let r=1;r<t.length;r+=2)yield t[r]}*entries(t){for(let r=0;r<t.length;r+=2)yield[t[r],t[r+1]]}clear(t){t.length=0}has(t,r){return n(t,r)}hasByValue(t,r){return i(t,r)}}export{y as FlatPair,d as FlatPairOperator,e as add,c as clear,h as find,a as findIndex,l as forEach,u as get,o as getByValue,n as has,i as hasByValue,s as remove,f as removeByValue,r as size};
1
+ const e=function(e,r){return e===r||e!=e&&r!=r};function r(e){const r=e.length;if(r%2!=0)throw new TypeError("[FlatPair: size] items length must be even number");return r/2}function t(r,t,n){const i=r.length;if(i%2!=0)throw new TypeError("[FlatPair: add] items length must be even number");for(let n=0;n<i;n+=2)if(e(r[n],t))return;r.push(t,n)}function n(r,t){const n=r.length;if(n%2!=0)throw new TypeError("[FlatPair: has] items length must be even number");for(let i=0;i<n;i+=2)if(e(r[i],t))return!0;return!1}function i(r,t){const n=r.length;if(n%2!=0)throw new TypeError("[FlatPair: hasByValue] items length must be even number");for(let i=1;i<n;i+=2)if(e(r[i],t))return!0;return!1}function u(r,t){const n=r.length;if(n%2!=0)throw new TypeError("[FlatPair: get] items length must be even number");for(let i=0;i<n;i+=2)if(e(r[i],t))return r[i+1]}function o(r,t){const n=r.length;if(n%2!=0)throw new TypeError("[FlatPair: getByValue] items length must be even number");for(let i=1;i<n;i+=2)if(e(r[i],t))return r[i-1]}function s(r,t){const n=r.length;if(n%2!=0)throw new TypeError("[FlatPair: remove] items length must be even number");for(let i=0;i<n;i+=2)if(e(r[i],t))return r.splice(i,2),!0;return!1}function l(r,t){const n=r.length;if(n%2!=0)throw new TypeError("[FlatPair: removeByValue] items length must be even number");for(let i=1;i<n;i+=2)if(e(r[i],t))return r.splice(i-1,2),!0;return!1}function f(e,r,t){const n=e.length;if(n%2!=0)throw new TypeError("[FlatPair: forEach] items length must be even number");for(let i=0;i<n;i+=2)i in e&&r.call(t,e[i+1],e[i],i,e)}function a(e){e.length=0}function h(e,r){const t=e.length;if(t%2!=0)throw new TypeError("[FlatPair: find] items length must be even number");for(let n=0;n<t;n+=2){if(r(e[n+1],e[n],n,e))return[e[n],e[n+1]]}}function m(e,r){const t=e.length;if(t%2!=0)throw new TypeError("[FlatPair: findIndex] items length must be even number");for(let n=0;n<t;n+=2){if(r(e[n+1],e[n],n,e))return n}return-1}class c{static from(e){if("[object Map]"!==Object.prototype.toString.call(e))throw new TypeError("[FlatPair: from] Argument must be a Map");const r=[];return e.forEach((e,t)=>r.push(t,e)),new c(r)}t=[];constructor(e){if(e.length%2!=0)throw new TypeError("[FlatPair: constructor] items length must be even number");this.t=e.slice()}get size(){return this.t.length/2}get array(){return this.t}add(e,r){return t(this.t,e,r),this}hasByValue(e){return i(this.t,e)}remove(e){return s(this.t,e)}removeByValue(e){return l(this.t,e)}get(e){return u(this.t,e)}getByValue(e){return o(this.t,e)}find(e){return h(this.t,e)}findIndex(e){return m(this.t,e)}clear(){this.t.length=0}has(e){return n(this.t,e)}forEach(e,r){f(this.t,e,r)}*keys(){for(let e=0;e<this.t.length;e+=2)yield this.t[e]}*values(){for(let e=1;e<this.t.length;e+=2)yield this.t[e]}*entries(){for(let e=0;e<this.t.length;e+=2)yield[this.t[e],this.t[e+1]]}[Symbol.iterator](){return this.entries()}}class y{add(e,r,n){t(e,r,n)}remove(e,r){return s(e,r)}get(e,r){return u(e,r)}getByValue(e,r){return o(e,r)}find(e,r){return h(e,r)}findIndex(e,r){return m(e,r)}removeByValue(e,r){return l(e,r)}forEach(e,r,t){f(e,r,t)}*keys(e){for(let r=0;r<e.length;r+=2)yield e[r]}*values(e){for(let r=1;r<e.length;r+=2)yield e[r]}*entries(e){for(let r=0;r<e.length;r+=2)yield[e[r],e[r+1]]}clear(e){e.length=0}has(e,r){return n(e,r)}hasByValue(e,r){return i(e,r)}}export{c as FlatPair,y as FlatPairOperator,t as add,a as clear,h as find,m as findIndex,f as forEach,u as get,o as getByValue,n as has,i as hasByValue,s as remove,l as removeByValue,r as size};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flat-pair",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "author": {
5
5
  "name": "Kasukabe Tsumugi",
6
6
  "email": "futami16237@gmail.com"