Skip to content

Commit

Permalink
Replace lodash.isequal with fast-equals (#250)
Browse files Browse the repository at this point in the history
  • Loading branch information
Semigradsky authored Jun 20, 2023
1 parent c2c311c commit 72e4082
Show file tree
Hide file tree
Showing 5 changed files with 9 additions and 10 deletions.
3 changes: 1 addition & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -61,12 +61,11 @@
"@sindresorhus/is": "^5.3.0",
"callsites": "^4.0.0",
"dot-prop": "^7.2.0",
"lodash.isequal": "^4.5.0",
"fast-equals": "^5.0.0",
"vali-date": "^1.0.0"
},
"devDependencies": {
"@sindresorhus/tsconfig": "^3.0.1",
"@types/lodash.isequal": "^4.5.6",
"@types/node": "^18.8.0",
"@types/vali-date": "^1.0.0",
"ava": "^4.3.3",
Expand Down
4 changes: 2 additions & 2 deletions source/predicates/array.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import isEqual from 'lodash.isequal';
import {deepEqual} from 'fast-equals';
import {exact} from '../utils/match-shape.js';
import ofType from '../utils/of-type.js';
import type {BasePredicate} from './base-predicate.js';
Expand Down Expand Up @@ -127,7 +127,7 @@ export class ArrayPredicate<T = unknown> extends Predicate<T[]> {
deepEqual(expected: readonly T[]): this {
return this.addValidator({
message: (value, label) => `Expected ${label} to be deeply equal to \`${JSON.stringify(expected)}\`, got \`${JSON.stringify(value)}\``,
validator: value => isEqual(value, expected),
validator: value => deepEqual(value, expected),
});
}

Expand Down
4 changes: 2 additions & 2 deletions source/predicates/map.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import isEqual from 'lodash.isequal';
import {deepEqual} from 'fast-equals';
import hasItems from '../utils/has-items.js';
import ofType from '../utils/of-type.js';
import {Predicate, type PredicateOptions} from './predicate.js';
Expand Down Expand Up @@ -152,7 +152,7 @@ export class MapPredicate<T1 = unknown, T2 = unknown> extends Predicate<Map<T1,
deepEqual(expected: Map<T1, T2>): this {
return this.addValidator({
message: (map, label) => `Expected ${label} to be deeply equal to \`${JSON.stringify([...expected])}\`, got \`${JSON.stringify([...map])}\``,
validator: map => isEqual(map, expected),
validator: map => deepEqual(map, expected),
});
}
}
4 changes: 2 additions & 2 deletions source/predicates/object.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import is from '@sindresorhus/is';
import {hasProperty} from 'dot-prop';
import isEqual from 'lodash.isequal';
import {deepEqual} from 'fast-equals';
import hasItems from '../utils/has-items.js';
import ofType from '../utils/of-type.js';
import ofTypeDeep from '../utils/of-type-deep.js';
Expand Down Expand Up @@ -78,7 +78,7 @@ export class ObjectPredicate<T extends object = object> extends Predicate<T> {
deepEqual(expected: object): this {
return this.addValidator({
message: (object, label) => `Expected ${label} to be deeply equal to \`${JSON.stringify(expected)}\`, got \`${JSON.stringify(object)}\``,
validator: object => isEqual(object, expected),
validator: object => deepEqual(object, expected),
});
}

Expand Down
4 changes: 2 additions & 2 deletions source/predicates/set.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import isEqual from 'lodash.isequal';
import {deepEqual} from 'fast-equals';
import hasItems from '../utils/has-items.js';
import ofType from '../utils/of-type.js';
import {Predicate, type PredicateOptions} from './predicate.js';
Expand Down Expand Up @@ -113,7 +113,7 @@ export class SetPredicate<T = any> extends Predicate<Set<T>> {
deepEqual(expected: Set<T>): this {
return this.addValidator({
message: (set, label) => `Expected ${label} to be deeply equal to \`${JSON.stringify([...expected])}\`, got \`${JSON.stringify([...set])}\``,
validator: set => isEqual(set, expected),
validator: set => deepEqual(set, expected),
});
}
}

0 comments on commit 72e4082

Please sign in to comment.