extra-utils 6.0.0 → 6.0.1

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.
@@ -1,9 +1,19 @@
1
1
  import { isReferenceEqual } from './is-reference-equal.js';
2
- import { isObject } from './is-object.js';
2
+ import { isPlainObject } from './is-plain-object.js';
3
+ import { isArray } from "../array/is-array.js";
3
4
  export function isDeepEqual(a, b) {
4
5
  if (isReferenceEqual(a, b))
5
6
  return true;
6
- if (isObject(a) && isObject(b)) {
7
+ if (isArray(a) && isArray(b)) {
8
+ if (a.length === b.length) {
9
+ for (let i = 0; i < a.length; i++) {
10
+ if (!isDeepEqual(a[i], b[i]))
11
+ return false;
12
+ }
13
+ return true;
14
+ }
15
+ }
16
+ else if (isPlainObject(a) && isPlainObject(b)) {
7
17
  const keysA = Reflect.ownKeys(a);
8
18
  const keysB = Reflect.ownKeys(b);
9
19
  if (keysA.length === keysB.length) {
@@ -1 +1 @@
1
- {"version":3,"file":"is-deep-equal.js","sourceRoot":"","sources":["../../src/object/is-deep-equal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,MAAM,UAAU,WAAW,CAAC,CAAU,EAAE,CAAU;IAChD,IAAI,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IAEvC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QAChC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QAEhC,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;YAClC,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;gBACxB,IACE,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC;oBAC7C,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAC5B,CAAC;oBACD,OAAO,KAAK,CAAA;gBACd,CAAC;YACH,CAAC;YAED,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC"}
1
+ {"version":3,"file":"is-deep-equal.js","sourceRoot":"","sources":["../../src/object/is-deep-equal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,OAAO,EAAE,6BAA8B;AAEhD,MAAM,UAAU,WAAW,CAAC,CAAU,EAAE,CAAU;IAChD,IAAI,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IAEvC,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;YAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAAE,OAAO,KAAK,CAAA;YAC5C,CAAC;YAED,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;SAAM,IAAI,aAAa,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QAChC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QAEhC,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;YAClC,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;gBACxB,IACE,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC;oBAC7C,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAC5B,CAAC;oBACD,OAAO,KAAK,CAAA;gBACd,CAAC;YACH,CAAC;YAED,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -1,9 +1,19 @@
1
1
  import { isReferenceEqual } from './is-reference-equal.js';
2
- import { isObject } from './is-object.js';
2
+ import { isPlainObject } from './is-plain-object.js';
3
+ import { isArray } from "../array/is-array.js";
3
4
  export function isShallowEqual(a, b) {
4
5
  if (isReferenceEqual(a, b))
5
6
  return true;
6
- if (isObject(a) && isObject(b)) {
7
+ if (isArray(a) && isArray(b)) {
8
+ if (a.length === b.length) {
9
+ for (let i = 0; i < a.length; i++) {
10
+ if (a[i] !== b[i])
11
+ return false;
12
+ }
13
+ return true;
14
+ }
15
+ }
16
+ else if (isPlainObject(a) && isPlainObject(b)) {
7
17
  const keysA = Reflect.ownKeys(a);
8
18
  const keysB = Reflect.ownKeys(b);
9
19
  if (keysA.length === keysB.length) {
@@ -1 +1 @@
1
- {"version":3,"file":"is-shallow-equal.js","sourceRoot":"","sources":["../../src/object/is-shallow-equal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,MAAM,UAAU,cAAc,CAAC,CAAU,EAAE,CAAU;IACnD,IAAI,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IAEvC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QAChC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QAEhC,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;YAClC,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;gBACxB,IACE,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC;oBAC7C,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EACjB,CAAC;oBACD,OAAO,KAAK,CAAA;gBACd,CAAC;YACH,CAAC;YAED,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC"}
1
+ {"version":3,"file":"is-shallow-equal.js","sourceRoot":"","sources":["../../src/object/is-shallow-equal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,OAAO,EAAE,6BAA8B;AAEhD,MAAM,UAAU,cAAc,CAAC,CAAU,EAAE,CAAU;IACnD,IAAI,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IAEvC,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;YAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAAE,OAAO,KAAK,CAAA;YACjC,CAAC;YAED,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;SAAM,IAAI,aAAa,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QAChC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QAEhC,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;YAClC,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;gBACxB,IACE,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC;oBAC7C,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EACjB,CAAC;oBACD,OAAO,KAAK,CAAA;gBACd,CAAC;YACH,CAAC;YAED,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "extra-utils",
3
- "version": "6.0.0",
3
+ "version": "6.0.1",
4
4
  "description": "Utilities for JavaScript and Typescript",
5
5
  "files": [
6
6
  "src",
@@ -32,6 +32,7 @@
32
32
  }
33
33
  },
34
34
  "devDependencies": {
35
+ "@blackglory/go": "^2.0.0",
35
36
  "@blackglory/pass": "^1.1.1",
36
37
  "@commitlint/cli": "^20.4.2",
37
38
  "@commitlint/config-conventional": "^20.4.2",
@@ -1,10 +1,19 @@
1
1
  import { isReferenceEqual } from './is-reference-equal.js'
2
- import { isObject } from './is-object.js'
2
+ import { isPlainObject } from './is-plain-object.js'
3
+ import { isArray } from '@src/array/is-array.js'
3
4
 
4
5
  export function isDeepEqual(a: unknown, b: unknown): boolean {
5
6
  if (isReferenceEqual(a, b)) return true
6
7
 
7
- if (isObject(a) && isObject(b)) {
8
+ if (isArray(a) && isArray(b)) {
9
+ if (a.length === b.length) {
10
+ for (let i = 0; i < a.length; i++) {
11
+ if (!isDeepEqual(a[i], b[i])) return false
12
+ }
13
+
14
+ return true
15
+ }
16
+ } else if (isPlainObject(a) && isPlainObject(b)) {
8
17
  const keysA = Reflect.ownKeys(a)
9
18
  const keysB = Reflect.ownKeys(b)
10
19
 
@@ -1,10 +1,19 @@
1
1
  import { isReferenceEqual } from './is-reference-equal.js'
2
- import { isObject } from './is-object.js'
2
+ import { isPlainObject } from './is-plain-object.js'
3
+ import { isArray } from '@src/array/is-array.js'
3
4
 
4
5
  export function isShallowEqual(a: unknown, b: unknown): boolean {
5
6
  if (isReferenceEqual(a, b)) return true
6
7
 
7
- if (isObject(a) && isObject(b)) {
8
+ if (isArray(a) && isArray(b)) {
9
+ if (a.length === b.length) {
10
+ for (let i = 0; i < a.length; i++) {
11
+ if (a[i] !== b[i]) return false
12
+ }
13
+
14
+ return true
15
+ }
16
+ } else if (isPlainObject(a) && isPlainObject(b)) {
8
17
  const keysA = Reflect.ownKeys(a)
9
18
  const keysB = Reflect.ownKeys(b)
10
19