Object Comparator
This package provides functions for comparing objects.
Installation
# use npm $ npm install --save object-comparator# use yarn $ yarn add object-comparator
Usage
console.logresult1.equal // false console.logresult2.equal // true
API
Commonly, the comparison functions have a Result type return value defined as follows.
typeOf: (obj: any) => ObjectType
Classify the value of the argument into one of the following
- ObjectType.Array
- ObjectType.Bigint
- ObjectType.Boolean
- ObjectType.Class
- ObjectType.Function
- ObjectType.Number
- ObjectType.ull
- ObjectType.Object
- ObjectType.String
- ObjectType.Symbol
- ObjectType.Undefined
compareFunction: (fun1: Function, fun2: Function, option?: CompareOption) => Result
Compare the values of ObjectType.Function. If an optional comparison operator is given(option.functionTypeComparator
), use it to compare, otherwise use fun.name
to compare.
compareClass: (cls1: Object, cls2: Object, option?: CompareOption) => Result
Comparing values that are ObjectType. If an optional comparison operator is given(option.classTypeComparator
), use it to compare, otherwise use fun.constructor.name
to compare.
compareArray: (arr1: any[], arr2: any[], option?: CompareOption) => Result
Compare values in an ObjectType.Array. The array is sorted and compared. Each element of the array is further compared according to the result of the typeOf function.
compareObject: (obj1: any, obj2: any, option?: CompareOption) => Result
Takes an argument of any type, and if it is ObjectType.Object, it checks if the key/value pair is an exact match.
CompareOption