You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					58 lines
				
				1.2 KiB
			
		
		
			
		
	
	
					58 lines
				
				1.2 KiB
			| 
								 
											4 years ago
										 
									 | 
							
								# deep-equal
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Node's `assert.deepEqual() algorithm` as a standalone module.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This module is around [5 times faster](https://gist.github.com/2790507)
							 | 
						||
| 
								 | 
							
								than wrapping `assert.deepEqual()` in a `try/catch`.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[](https://ci.testling.com/substack/node-deep-equal)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[](https://travis-ci.org/substack/node-deep-equal)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# example
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								``` js
							 | 
						||
| 
								 | 
							
								var equal = require('deep-equal');
							 | 
						||
| 
								 | 
							
								console.dir([
							 | 
						||
| 
								 | 
							
								    equal(
							 | 
						||
| 
								 | 
							
								        { a : [ 2, 3 ], b : [ 4 ] },
							 | 
						||
| 
								 | 
							
								        { a : [ 2, 3 ], b : [ 4 ] }
							 | 
						||
| 
								 | 
							
								    ),
							 | 
						||
| 
								 | 
							
								    equal(
							 | 
						||
| 
								 | 
							
								        { x : 5, y : [6] },
							 | 
						||
| 
								 | 
							
								        { x : 5, y : 6 }
							 | 
						||
| 
								 | 
							
								    )
							 | 
						||
| 
								 | 
							
								]);
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# methods
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								``` js
							 | 
						||
| 
								 | 
							
								var deepEqual = require('deep-equal')
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## deepEqual(a, b, opts)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Compare objects `a` and `b`, returning whether they are equal according to a
							 | 
						||
| 
								 | 
							
								recursive equality algorithm.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								If `opts.strict` is `true`, use strict equality (`===`) to compare leaf nodes.
							 | 
						||
| 
								 | 
							
								The default is to use coercive equality (`==`) because that's how
							 | 
						||
| 
								 | 
							
								`assert.deepEqual()` works by default.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# install
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								With [npm](http://npmjs.org) do:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								npm install deep-equal
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# test
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								With [npm](http://npmjs.org) do:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								npm test
							 | 
						||
| 
								 | 
							
								```
							 |