feat: docker compose maybe
This commit is contained in:
		
							
								
								
									
										5
									
								
								node_modules/deep-is/.travis.yml
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								node_modules/deep-is/.travis.yml
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
			
		||||
language: node_js
 | 
			
		||||
node_js:
 | 
			
		||||
  - 0.6
 | 
			
		||||
  - 0.8
 | 
			
		||||
  - 0.10
 | 
			
		||||
							
								
								
									
										22
									
								
								node_modules/deep-is/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								node_modules/deep-is/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,22 @@
 | 
			
		||||
Copyright (c) 2012, 2013 Thorsten Lorenz <thlorenz@gmx.de>
 | 
			
		||||
Copyright (c) 2012 James Halliday <mail@substack.net>
 | 
			
		||||
Copyright (c) 2009 Thomas Robinson <280north.com>
 | 
			
		||||
 | 
			
		||||
This software is released under the MIT license:
 | 
			
		||||
 | 
			
		||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
 | 
			
		||||
this software and associated documentation files (the "Software"), to deal in
 | 
			
		||||
the Software without restriction, including without limitation the rights to
 | 
			
		||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
 | 
			
		||||
the Software, and to permit persons to whom the Software is furnished to do so,
 | 
			
		||||
subject to the following conditions:
 | 
			
		||||
 | 
			
		||||
The above copyright notice and this permission notice shall be included in all
 | 
			
		||||
copies or substantial portions of the Software.
 | 
			
		||||
 | 
			
		||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
 | 
			
		||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
 | 
			
		||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
 | 
			
		||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 | 
			
		||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 | 
			
		||||
							
								
								
									
										70
									
								
								node_modules/deep-is/README.markdown
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								node_modules/deep-is/README.markdown
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,70 @@
 | 
			
		||||
deep-is
 | 
			
		||||
==========
 | 
			
		||||
 | 
			
		||||
Node's `assert.deepEqual() algorithm` as a standalone module. Exactly like
 | 
			
		||||
[deep-equal](https://github.com/substack/node-deep-equal) except for the fact that `deepEqual(NaN, NaN) === true`.
 | 
			
		||||
 | 
			
		||||
This module is around [5 times faster](https://gist.github.com/2790507)
 | 
			
		||||
than wrapping `assert.deepEqual()` in a `try/catch`.
 | 
			
		||||
 | 
			
		||||
[](http://ci.testling.com/thlorenz/deep-is)
 | 
			
		||||
 | 
			
		||||
[](http://travis-ci.org/thlorenz/deep-is)
 | 
			
		||||
 | 
			
		||||
example
 | 
			
		||||
=======
 | 
			
		||||
 | 
			
		||||
``` js
 | 
			
		||||
var equal = require('deep-is');
 | 
			
		||||
console.dir([
 | 
			
		||||
    equal(
 | 
			
		||||
        { a : [ 2, 3 ], b : [ 4 ] },
 | 
			
		||||
        { a : [ 2, 3 ], b : [ 4 ] }
 | 
			
		||||
    ),
 | 
			
		||||
    equal(
 | 
			
		||||
        { x : 5, y : [6] },
 | 
			
		||||
        { x : 5, y : 6 }
 | 
			
		||||
    )
 | 
			
		||||
]);
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
methods
 | 
			
		||||
=======
 | 
			
		||||
 | 
			
		||||
var deepIs = require('deep-is')
 | 
			
		||||
 | 
			
		||||
deepIs(a, b)
 | 
			
		||||
---------------
 | 
			
		||||
 | 
			
		||||
Compare objects `a` and `b`, returning whether they are equal according to a
 | 
			
		||||
recursive equality algorithm.
 | 
			
		||||
 | 
			
		||||
install
 | 
			
		||||
=======
 | 
			
		||||
 | 
			
		||||
With [npm](http://npmjs.org) do:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
npm install deep-is
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
test
 | 
			
		||||
====
 | 
			
		||||
 | 
			
		||||
With [npm](http://npmjs.org) do:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
npm test
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
license
 | 
			
		||||
=======
 | 
			
		||||
 | 
			
		||||
Copyright (c) 2012, 2013 Thorsten Lorenz <thlorenz@gmx.de>
 | 
			
		||||
Copyright (c) 2012 James Halliday <mail@substack.net>
 | 
			
		||||
 | 
			
		||||
Derived largely from node's assert module, which has the copyright statement:
 | 
			
		||||
 | 
			
		||||
Copyright (c) 2009 Thomas Robinson <280north.com>
 | 
			
		||||
 | 
			
		||||
Released under the MIT license, see LICENSE for details.
 | 
			
		||||
							
								
								
									
										11
									
								
								node_modules/deep-is/example/cmp.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								node_modules/deep-is/example/cmp.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
			
		||||
var equal = require('../');
 | 
			
		||||
console.dir([
 | 
			
		||||
    equal(
 | 
			
		||||
        { a : [ 2, 3 ], b : [ 4 ] },
 | 
			
		||||
        { a : [ 2, 3 ], b : [ 4 ] }
 | 
			
		||||
    ),
 | 
			
		||||
    equal(
 | 
			
		||||
        { x : 5, y : [6] },
 | 
			
		||||
        { x : 5, y : 6 }
 | 
			
		||||
    )
 | 
			
		||||
]);
 | 
			
		||||
							
								
								
									
										102
									
								
								node_modules/deep-is/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										102
									
								
								node_modules/deep-is/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,102 @@
 | 
			
		||||
var pSlice = Array.prototype.slice;
 | 
			
		||||
var Object_keys = typeof Object.keys === 'function'
 | 
			
		||||
    ? Object.keys
 | 
			
		||||
    : function (obj) {
 | 
			
		||||
        var keys = [];
 | 
			
		||||
        for (var key in obj) keys.push(key);
 | 
			
		||||
        return keys;
 | 
			
		||||
    }
 | 
			
		||||
;
 | 
			
		||||
 | 
			
		||||
var deepEqual = module.exports = function (actual, expected) {
 | 
			
		||||
  // enforce Object.is +0 !== -0
 | 
			
		||||
  if (actual === 0 && expected === 0) {
 | 
			
		||||
    return areZerosEqual(actual, expected);
 | 
			
		||||
 | 
			
		||||
  // 7.1. All identical values are equivalent, as determined by ===.
 | 
			
		||||
  } else if (actual === expected) {
 | 
			
		||||
    return true;
 | 
			
		||||
 | 
			
		||||
  } else if (actual instanceof Date && expected instanceof Date) {
 | 
			
		||||
    return actual.getTime() === expected.getTime();
 | 
			
		||||
 | 
			
		||||
  } else if (isNumberNaN(actual)) {
 | 
			
		||||
    return isNumberNaN(expected);
 | 
			
		||||
 | 
			
		||||
  // 7.3. Other pairs that do not both pass typeof value == 'object',
 | 
			
		||||
  // equivalence is determined by ==.
 | 
			
		||||
  } else if (typeof actual != 'object' && typeof expected != 'object') {
 | 
			
		||||
    return actual == expected;
 | 
			
		||||
 | 
			
		||||
  // 7.4. For all other Object pairs, including Array objects, equivalence is
 | 
			
		||||
  // determined by having the same number of owned properties (as verified
 | 
			
		||||
  // with Object.prototype.hasOwnProperty.call), the same set of keys
 | 
			
		||||
  // (although not necessarily the same order), equivalent values for every
 | 
			
		||||
  // corresponding key, and an identical 'prototype' property. Note: this
 | 
			
		||||
  // accounts for both named and indexed properties on Arrays.
 | 
			
		||||
  } else {
 | 
			
		||||
    return objEquiv(actual, expected);
 | 
			
		||||
  }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
function isUndefinedOrNull(value) {
 | 
			
		||||
  return value === null || value === undefined;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function isArguments(object) {
 | 
			
		||||
  return Object.prototype.toString.call(object) == '[object Arguments]';
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function isNumberNaN(value) {
 | 
			
		||||
  // NaN === NaN -> false
 | 
			
		||||
  return typeof value == 'number' && value !== value;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function areZerosEqual(zeroA, zeroB) {
 | 
			
		||||
  // (1 / +0|0) -> Infinity, but (1 / -0) -> -Infinity and (Infinity !== -Infinity)
 | 
			
		||||
  return (1 / zeroA) === (1 / zeroB);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function objEquiv(a, b) {
 | 
			
		||||
  if (isUndefinedOrNull(a) || isUndefinedOrNull(b))
 | 
			
		||||
    return false;
 | 
			
		||||
 | 
			
		||||
  // an identical 'prototype' property.
 | 
			
		||||
  if (a.prototype !== b.prototype) return false;
 | 
			
		||||
  //~~~I've managed to break Object.keys through screwy arguments passing.
 | 
			
		||||
  //   Converting to array solves the problem.
 | 
			
		||||
  if (isArguments(a)) {
 | 
			
		||||
    if (!isArguments(b)) {
 | 
			
		||||
      return false;
 | 
			
		||||
    }
 | 
			
		||||
    a = pSlice.call(a);
 | 
			
		||||
    b = pSlice.call(b);
 | 
			
		||||
    return deepEqual(a, b);
 | 
			
		||||
  }
 | 
			
		||||
  try {
 | 
			
		||||
    var ka = Object_keys(a),
 | 
			
		||||
        kb = Object_keys(b),
 | 
			
		||||
        key, i;
 | 
			
		||||
  } catch (e) {//happens when one is a string literal and the other isn't
 | 
			
		||||
    return false;
 | 
			
		||||
  }
 | 
			
		||||
  // having the same number of owned properties (keys incorporates
 | 
			
		||||
  // hasOwnProperty)
 | 
			
		||||
  if (ka.length != kb.length)
 | 
			
		||||
    return false;
 | 
			
		||||
  //the same set of keys (although not necessarily the same order),
 | 
			
		||||
  ka.sort();
 | 
			
		||||
  kb.sort();
 | 
			
		||||
  //~~~cheap key test
 | 
			
		||||
  for (i = ka.length - 1; i >= 0; i--) {
 | 
			
		||||
    if (ka[i] != kb[i])
 | 
			
		||||
      return false;
 | 
			
		||||
  }
 | 
			
		||||
  //equivalent values for every corresponding key, and
 | 
			
		||||
  //~~~possibly expensive deep test
 | 
			
		||||
  for (i = ka.length - 1; i >= 0; i--) {
 | 
			
		||||
    key = ka[i];
 | 
			
		||||
    if (!deepEqual(a[key], b[key])) return false;
 | 
			
		||||
  }
 | 
			
		||||
  return true;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										58
									
								
								node_modules/deep-is/package.json
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								node_modules/deep-is/package.json
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,58 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "deep-is",
 | 
			
		||||
  "version": "0.1.4",
 | 
			
		||||
  "description": "node's assert.deepEqual algorithm except for NaN being equal to NaN",
 | 
			
		||||
  "main": "index.js",
 | 
			
		||||
  "directories": {
 | 
			
		||||
    "lib": ".",
 | 
			
		||||
    "example": "example",
 | 
			
		||||
    "test": "test"
 | 
			
		||||
  },
 | 
			
		||||
  "scripts": {
 | 
			
		||||
    "test": "tape test/*.js"
 | 
			
		||||
  },
 | 
			
		||||
  "devDependencies": {
 | 
			
		||||
    "tape": "~1.0.2"
 | 
			
		||||
  },
 | 
			
		||||
  "repository": {
 | 
			
		||||
    "type": "git",
 | 
			
		||||
    "url": "http://github.com/thlorenz/deep-is.git"
 | 
			
		||||
  },
 | 
			
		||||
  "keywords": [
 | 
			
		||||
    "equality",
 | 
			
		||||
    "equal",
 | 
			
		||||
    "compare"
 | 
			
		||||
  ],
 | 
			
		||||
  "author": {
 | 
			
		||||
    "name": "Thorsten Lorenz",
 | 
			
		||||
    "email": "thlorenz@gmx.de",
 | 
			
		||||
    "url": "http://thlorenz.com"
 | 
			
		||||
  },
 | 
			
		||||
  "license": "MIT",
 | 
			
		||||
  "testling": {
 | 
			
		||||
    "files": "test/*.js",
 | 
			
		||||
    "browsers": {
 | 
			
		||||
      "ie": [
 | 
			
		||||
        6,
 | 
			
		||||
        7,
 | 
			
		||||
        8,
 | 
			
		||||
        9
 | 
			
		||||
      ],
 | 
			
		||||
      "ff": [
 | 
			
		||||
        3.5,
 | 
			
		||||
        10,
 | 
			
		||||
        15
 | 
			
		||||
      ],
 | 
			
		||||
      "chrome": [
 | 
			
		||||
        10,
 | 
			
		||||
        22
 | 
			
		||||
      ],
 | 
			
		||||
      "safari": [
 | 
			
		||||
        5.1
 | 
			
		||||
      ],
 | 
			
		||||
      "opera": [
 | 
			
		||||
        12
 | 
			
		||||
      ]
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										16
									
								
								node_modules/deep-is/test/NaN.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								node_modules/deep-is/test/NaN.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,16 @@
 | 
			
		||||
var test = require('tape');
 | 
			
		||||
var equal = require('../');
 | 
			
		||||
 | 
			
		||||
test('NaN and 0 values', function (t) {
 | 
			
		||||
    t.ok(equal(NaN, NaN));
 | 
			
		||||
    t.notOk(equal(0, NaN));
 | 
			
		||||
    t.ok(equal(0, 0));
 | 
			
		||||
    t.notOk(equal(0, 1));
 | 
			
		||||
    t.end();
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
test('nested NaN values', function (t) {
 | 
			
		||||
    t.ok(equal([ NaN, 1, NaN ], [ NaN, 1, NaN ]));
 | 
			
		||||
    t.end();
 | 
			
		||||
});
 | 
			
		||||
							
								
								
									
										23
									
								
								node_modules/deep-is/test/cmp.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								node_modules/deep-is/test/cmp.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,23 @@
 | 
			
		||||
var test = require('tape');
 | 
			
		||||
var equal = require('../');
 | 
			
		||||
 | 
			
		||||
test('equal', function (t) {
 | 
			
		||||
    t.ok(equal(
 | 
			
		||||
        { a : [ 2, 3 ], b : [ 4 ] },
 | 
			
		||||
        { a : [ 2, 3 ], b : [ 4 ] }
 | 
			
		||||
    ));
 | 
			
		||||
    t.end();
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
test('not equal', function (t) {
 | 
			
		||||
    t.notOk(equal(
 | 
			
		||||
        { x : 5, y : [6] },
 | 
			
		||||
        { x : 5, y : 6 }
 | 
			
		||||
    ));
 | 
			
		||||
    t.end();
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
test('nested nulls', function (t) {
 | 
			
		||||
    t.ok(equal([ null, null, null ], [ null, null, null ]));
 | 
			
		||||
    t.end();
 | 
			
		||||
});
 | 
			
		||||
							
								
								
									
										15
									
								
								node_modules/deep-is/test/neg-vs-pos-0.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								node_modules/deep-is/test/neg-vs-pos-0.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,15 @@
 | 
			
		||||
var test = require('tape');
 | 
			
		||||
var equal = require('../');
 | 
			
		||||
 | 
			
		||||
test('0 values', function (t) {
 | 
			
		||||
    t.ok(equal( 0,  0), ' 0 ===  0');
 | 
			
		||||
    t.ok(equal( 0, +0), ' 0 === +0');
 | 
			
		||||
    t.ok(equal(+0, +0), '+0 === +0');
 | 
			
		||||
    t.ok(equal(-0, -0), '-0 === -0');
 | 
			
		||||
 | 
			
		||||
    t.notOk(equal(-0,  0), '-0 !==  0');
 | 
			
		||||
    t.notOk(equal(-0, +0), '-0 !== +0');
 | 
			
		||||
 | 
			
		||||
    t.end();
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user