@x-oasis/shallow-array-equal 0.1.4 → 0.1.6

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
@@ -16,4 +16,10 @@ import shallowArrayEqual from '@x-oasis/shallow-array-equal'
16
16
 
17
17
  ```bash
18
18
  $ pnpm test
19
+ ```
20
+
21
+ ## Simple Example
22
+
23
+ ```ts
24
+
19
25
  ```
package/dist/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
- declare const _default: (a: Array<any>, b: Array<any>) => boolean;
1
+ declare type Comparison = (a: any, b: any) => boolean;
2
+ declare const _default: (a: Array<any>, b: Array<any>, comparison?: Comparison) => boolean;
2
3
  export default _default;
@@ -2,12 +2,19 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var index = (function (a, b) {
5
+ var defaultComparison = function defaultComparison(a, b) {
6
+ return a === b;
7
+ };
8
+ var index = (function (a, b, comparison) {
9
+ if (comparison === void 0) {
10
+ comparison = defaultComparison;
11
+ }
6
12
  if (!Array.isArray(a) || !Array.isArray(b)) return false;
7
13
  if (a.length !== b.length) return false;
8
14
  var len = a.length;
9
15
  for (var index = 0; index < len; index++) {
10
- if (a[index] !== b[index]) return false;
16
+ var falsy = comparison(a[index], b[index]);
17
+ if (!falsy) return false;
11
18
  }
12
19
  return true;
13
20
  });
@@ -1 +1 @@
1
- {"version":3,"file":"shallow-array-equal.cjs.development.js","sources":["../src/index.ts"],"sourcesContent":["export default (a: Array<any>, b: Array<any>) => {\n if (!Array.isArray(a) || !Array.isArray(b)) return false;\n if (a.length !== b.length) return false;\n const len = a.length;\n for (let index = 0; index < len; index++) {\n if (a[index] !== b[index]) return false;\n }\n\n return true;\n};\n"],"names":["a","b","Array","isArray","length","len","index"],"mappings":";;;;AAAA,aAAe,UAACA,CAAa,EAAEC,CAAa;EAC1C,IAAI,CAACC,KAAK,CAACC,OAAO,CAACH,CAAC,CAAC,IAAI,CAACE,KAAK,CAACC,OAAO,CAACF,CAAC,CAAC,EAAE,OAAO,KAAK;EACxD,IAAID,CAAC,CAACI,MAAM,KAAKH,CAAC,CAACG,MAAM,EAAE,OAAO,KAAK;EACvC,IAAMC,GAAG,GAAGL,CAAC,CAACI,MAAM;EACpB,KAAK,IAAIE,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGD,GAAG,EAAEC,KAAK,EAAE,EAAE;IACxC,IAAIN,CAAC,CAACM,KAAK,CAAC,KAAKL,CAAC,CAACK,KAAK,CAAC,EAAE,OAAO,KAAK;;EAGzC,OAAO,IAAI;AACb,CAAC;;;;"}
1
+ {"version":3,"file":"shallow-array-equal.cjs.development.js","sources":["../src/index.ts"],"sourcesContent":["type Comparison = (a: any, b: any) => boolean;\n\nconst defaultComparison = (a, b) => a === b;\n\nexport default (\n a: Array<any>,\n b: Array<any>,\n comparison: Comparison = defaultComparison\n) => {\n if (!Array.isArray(a) || !Array.isArray(b)) return false;\n if (a.length !== b.length) return false;\n const len = a.length;\n for (let index = 0; index < len; index++) {\n const falsy = comparison(a[index], b[index]);\n if (!falsy) return false;\n }\n\n return true;\n};\n"],"names":["defaultComparison","a","b","comparison","Array","isArray","length","len","index","falsy"],"mappings":";;;;AAEA,IAAMA,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIC,CAAC,EAAEC,CAAC;EAAA,OAAKD,CAAC,KAAKC,CAAC;AAAA;AAE3C,aAAe,UACbD,CAAa,EACbC,CAAa,EACbC;MAAAA;IAAAA,aAAyBH,iBAAiB;;EAE1C,IAAI,CAACI,KAAK,CAACC,OAAO,CAACJ,CAAC,CAAC,IAAI,CAACG,KAAK,CAACC,OAAO,CAACH,CAAC,CAAC,EAAE,OAAO,KAAK;EACxD,IAAID,CAAC,CAACK,MAAM,KAAKJ,CAAC,CAACI,MAAM,EAAE,OAAO,KAAK;EACvC,IAAMC,GAAG,GAAGN,CAAC,CAACK,MAAM;EACpB,KAAK,IAAIE,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGD,GAAG,EAAEC,KAAK,EAAE,EAAE;IACxC,IAAMC,KAAK,GAAGN,UAAU,CAACF,CAAC,CAACO,KAAK,CAAC,EAAEN,CAAC,CAACM,KAAK,CAAC,CAAC;IAC5C,IAAI,CAACC,KAAK,EAAE,OAAO,KAAK;;EAG1B,OAAO,IAAI;AACb,CAAC;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=function(r,e){if(!Array.isArray(r)||!Array.isArray(e))return!1;if(r.length!==e.length)return!1;for(var t=r.length,n=0;n<t;n++)if(r[n]!==e[n])return!1;return!0};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var r=function(r,e){return r===e};exports.default=function(e,t,n){if(void 0===n&&(n=r),!Array.isArray(e)||!Array.isArray(t))return!1;if(e.length!==t.length)return!1;for(var u=e.length,i=0;i<u;i++)if(!n(e[i],t[i]))return!1;return!0};
2
2
  //# sourceMappingURL=shallow-array-equal.cjs.production.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shallow-array-equal.cjs.production.min.js","sources":["../src/index.ts"],"sourcesContent":["export default (a: Array<any>, b: Array<any>) => {\n if (!Array.isArray(a) || !Array.isArray(b)) return false;\n if (a.length !== b.length) return false;\n const len = a.length;\n for (let index = 0; index < len; index++) {\n if (a[index] !== b[index]) return false;\n }\n\n return true;\n};\n"],"names":["a","b","Array","isArray","length","len","index"],"mappings":"6FAAgBA,EAAeC,GAC7B,IAAKC,MAAMC,QAAQH,KAAOE,MAAMC,QAAQF,GAAI,OAAO,EACnD,GAAID,EAAEI,SAAWH,EAAEG,OAAQ,OAAO,EAElC,IADA,IAAMC,EAAML,EAAEI,OACLE,EAAQ,EAAGA,EAAQD,EAAKC,IAC/B,GAAIN,EAAEM,KAAWL,EAAEK,GAAQ,OAAO,EAGpC,OAAO"}
1
+ {"version":3,"file":"shallow-array-equal.cjs.production.min.js","sources":["../src/index.ts"],"sourcesContent":["type Comparison = (a: any, b: any) => boolean;\n\nconst defaultComparison = (a, b) => a === b;\n\nexport default (\n a: Array<any>,\n b: Array<any>,\n comparison: Comparison = defaultComparison\n) => {\n if (!Array.isArray(a) || !Array.isArray(b)) return false;\n if (a.length !== b.length) return false;\n const len = a.length;\n for (let index = 0; index < len; index++) {\n const falsy = comparison(a[index], b[index]);\n if (!falsy) return false;\n }\n\n return true;\n};\n"],"names":["defaultComparison","a","b","comparison","Array","isArray","length","len","index"],"mappings":"oEAEA,IAAMA,EAAoB,SAACC,EAAGC,GAAC,OAAKD,IAAMC,4BAGxCD,EACAC,EACAC,GAEA,YAFAA,IAAAA,EAAyBH,IAEpBI,MAAMC,QAAQJ,KAAOG,MAAMC,QAAQH,GAAI,OAAO,EACnD,GAAID,EAAEK,SAAWJ,EAAEI,OAAQ,OAAO,EAElC,IADA,IAAMC,EAAMN,EAAEK,OACLE,EAAQ,EAAGA,EAAQD,EAAKC,IAE/B,IADcL,EAAWF,EAAEO,GAAQN,EAAEM,IACzB,OAAO,EAGrB,OAAO"}
@@ -1,9 +1,16 @@
1
- var index = (function (a, b) {
1
+ var defaultComparison = function defaultComparison(a, b) {
2
+ return a === b;
3
+ };
4
+ var index = (function (a, b, comparison) {
5
+ if (comparison === void 0) {
6
+ comparison = defaultComparison;
7
+ }
2
8
  if (!Array.isArray(a) || !Array.isArray(b)) return false;
3
9
  if (a.length !== b.length) return false;
4
10
  var len = a.length;
5
11
  for (var index = 0; index < len; index++) {
6
- if (a[index] !== b[index]) return false;
12
+ var falsy = comparison(a[index], b[index]);
13
+ if (!falsy) return false;
7
14
  }
8
15
  return true;
9
16
  });
@@ -1 +1 @@
1
- {"version":3,"file":"shallow-array-equal.esm.js","sources":["../src/index.ts"],"sourcesContent":["export default (a: Array<any>, b: Array<any>) => {\n if (!Array.isArray(a) || !Array.isArray(b)) return false;\n if (a.length !== b.length) return false;\n const len = a.length;\n for (let index = 0; index < len; index++) {\n if (a[index] !== b[index]) return false;\n }\n\n return true;\n};\n"],"names":["a","b","Array","isArray","length","len","index"],"mappings":"AAAA,aAAe,UAACA,CAAa,EAAEC,CAAa;EAC1C,IAAI,CAACC,KAAK,CAACC,OAAO,CAACH,CAAC,CAAC,IAAI,CAACE,KAAK,CAACC,OAAO,CAACF,CAAC,CAAC,EAAE,OAAO,KAAK;EACxD,IAAID,CAAC,CAACI,MAAM,KAAKH,CAAC,CAACG,MAAM,EAAE,OAAO,KAAK;EACvC,IAAMC,GAAG,GAAGL,CAAC,CAACI,MAAM;EACpB,KAAK,IAAIE,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGD,GAAG,EAAEC,KAAK,EAAE,EAAE;IACxC,IAAIN,CAAC,CAACM,KAAK,CAAC,KAAKL,CAAC,CAACK,KAAK,CAAC,EAAE,OAAO,KAAK;;EAGzC,OAAO,IAAI;AACb,CAAC;;;;"}
1
+ {"version":3,"file":"shallow-array-equal.esm.js","sources":["../src/index.ts"],"sourcesContent":["type Comparison = (a: any, b: any) => boolean;\n\nconst defaultComparison = (a, b) => a === b;\n\nexport default (\n a: Array<any>,\n b: Array<any>,\n comparison: Comparison = defaultComparison\n) => {\n if (!Array.isArray(a) || !Array.isArray(b)) return false;\n if (a.length !== b.length) return false;\n const len = a.length;\n for (let index = 0; index < len; index++) {\n const falsy = comparison(a[index], b[index]);\n if (!falsy) return false;\n }\n\n return true;\n};\n"],"names":["defaultComparison","a","b","comparison","Array","isArray","length","len","index","falsy"],"mappings":"AAEA,IAAMA,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIC,CAAC,EAAEC,CAAC;EAAA,OAAKD,CAAC,KAAKC,CAAC;AAAA;AAE3C,aAAe,UACbD,CAAa,EACbC,CAAa,EACbC;MAAAA;IAAAA,aAAyBH,iBAAiB;;EAE1C,IAAI,CAACI,KAAK,CAACC,OAAO,CAACJ,CAAC,CAAC,IAAI,CAACG,KAAK,CAACC,OAAO,CAACH,CAAC,CAAC,EAAE,OAAO,KAAK;EACxD,IAAID,CAAC,CAACK,MAAM,KAAKJ,CAAC,CAACI,MAAM,EAAE,OAAO,KAAK;EACvC,IAAMC,GAAG,GAAGN,CAAC,CAACK,MAAM;EACpB,KAAK,IAAIE,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGD,GAAG,EAAEC,KAAK,EAAE,EAAE;IACxC,IAAMC,KAAK,GAAGN,UAAU,CAACF,CAAC,CAACO,KAAK,CAAC,EAAEN,CAAC,CAACM,KAAK,CAAC,CAAC;IAC5C,IAAI,CAACC,KAAK,EAAE,OAAO,KAAK;;EAG1B,OAAO,IAAI;AACb,CAAC;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@x-oasis/shallow-array-equal",
3
- "version": "0.1.4",
3
+ "version": "0.1.6",
4
4
  "description": "shallow array equal function",
5
5
  "main": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",
package/src/index.ts CHANGED
@@ -1,9 +1,18 @@
1
- export default (a: Array<any>, b: Array<any>) => {
1
+ type Comparison = (a: any, b: any) => boolean;
2
+
3
+ const defaultComparison = (a, b) => a === b;
4
+
5
+ export default (
6
+ a: Array<any>,
7
+ b: Array<any>,
8
+ comparison: Comparison = defaultComparison
9
+ ) => {
2
10
  if (!Array.isArray(a) || !Array.isArray(b)) return false;
3
11
  if (a.length !== b.length) return false;
4
12
  const len = a.length;
5
13
  for (let index = 0; index < len; index++) {
6
- if (a[index] !== b[index]) return false;
14
+ const falsy = comparison(a[index], b[index]);
15
+ if (!falsy) return false;
7
16
  }
8
17
 
9
18
  return true;
package/test/test.spec.ts CHANGED
@@ -1,5 +1,6 @@
1
- import { expect, test } from 'vitest'
1
+ import { expect, test } from 'vitest';
2
+ import shallowArrayEqual from '../src';
2
3
 
3
- test('vitest', async () => {
4
- expect('vitest').toBe('vitest')
5
- })
4
+ test('vitest', () => {
5
+ expect(shallowArrayEqual([], [])).toBe(true);
6
+ });