fast-equals 5.0.1 → 5.1.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 +3 -0
- package/dist/cjs/index.cjs +69 -11
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/types/comparator.d.ts +1 -1
- package/dist/cjs/types/equals.d.ts +17 -0
- package/dist/cjs/types/index.d.ts +1 -1
- package/dist/cjs/types/internalTypes.d.ts +16 -0
- package/dist/cjs/types/utils.d.ts +1 -1
- package/dist/esm/index.mjs +69 -11
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/types/comparator.d.ts +1 -1
- package/dist/esm/types/equals.d.ts +17 -0
- package/dist/esm/types/index.d.ts +1 -1
- package/dist/esm/types/internalTypes.d.ts +16 -0
- package/dist/esm/types/utils.d.ts +1 -1
- package/dist/min/index.js +1 -1
- package/dist/min/types/comparator.d.ts +1 -1
- package/dist/min/types/equals.d.ts +17 -0
- package/dist/min/types/index.d.ts +1 -1
- package/dist/min/types/internalTypes.d.ts +16 -0
- package/dist/min/types/utils.d.ts +1 -1
- package/dist/umd/index.js +69 -11
- package/dist/umd/index.js.map +1 -1
- package/dist/umd/types/comparator.d.ts +1 -1
- package/dist/umd/types/equals.d.ts +17 -0
- package/dist/umd/types/index.d.ts +1 -1
- package/dist/umd/types/internalTypes.d.ts +16 -0
- package/dist/umd/types/utils.d.ts +1 -1
- package/index.d.ts +18 -1
- package/package.json +21 -21
- package/src/comparator.ts +53 -13
- package/src/equals.ts +42 -0
- package/src/index.ts +18 -1
- package/src/internalTypes.ts +16 -0
- package/src/utils.ts +2 -2
package/src/internalTypes.ts
CHANGED
|
@@ -52,11 +52,23 @@ export interface ComparatorConfig<Meta> {
|
|
|
52
52
|
* Whether the dates passed are equal in value.
|
|
53
53
|
*/
|
|
54
54
|
areDatesEqual: TypeEqualityComparator<any, Meta>;
|
|
55
|
+
/**
|
|
56
|
+
* Whether the errors passed are equal in value.
|
|
57
|
+
*/
|
|
58
|
+
areErrorsEqual: TypeEqualityComparator<any, Meta>;
|
|
59
|
+
/**
|
|
60
|
+
* Whether the functions passed are equal in value.
|
|
61
|
+
*/
|
|
62
|
+
areFunctionsEqual: TypeEqualityComparator<any, Meta>;
|
|
55
63
|
/**
|
|
56
64
|
* Whether the maps passed are equal in value. In strict mode, this includes
|
|
57
65
|
* additional properties added to the map.
|
|
58
66
|
*/
|
|
59
67
|
areMapsEqual: TypeEqualityComparator<any, Meta>;
|
|
68
|
+
/**
|
|
69
|
+
* Whether the numbers passed are equal in value.
|
|
70
|
+
*/
|
|
71
|
+
areNumbersEqual: TypeEqualityComparator<any, Meta>;
|
|
60
72
|
/**
|
|
61
73
|
* Whether the objects passed are equal in value. In strict mode, this includes
|
|
62
74
|
* non-enumerable properties added to the map, as well as symbol properties.
|
|
@@ -80,6 +92,10 @@ export interface ComparatorConfig<Meta> {
|
|
|
80
92
|
* additional properties added to the typed array.
|
|
81
93
|
*/
|
|
82
94
|
areTypedArraysEqual: TypeEqualityComparator<any, Meta>;
|
|
95
|
+
/**
|
|
96
|
+
* Whether the URLs passed are equal in value.
|
|
97
|
+
*/
|
|
98
|
+
areUrlsEqual: TypeEqualityComparator<any, Meta>;
|
|
83
99
|
}
|
|
84
100
|
|
|
85
101
|
export type CreateCustomComparatorConfig<Meta> = (
|
package/src/utils.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type {
|
|
2
2
|
AnyEqualityComparator,
|
|
3
3
|
Cache,
|
|
4
4
|
CircularState,
|
|
@@ -84,5 +84,5 @@ export const hasOwn =
|
|
|
84
84
|
* Whether the values passed are strictly equal or both NaN.
|
|
85
85
|
*/
|
|
86
86
|
export function sameValueZeroEqual(a: any, b: any): boolean {
|
|
87
|
-
return a
|
|
87
|
+
return a === b || (!a && !b && a !== a && b !== b);
|
|
88
88
|
}
|