diff options
| author | Joel Kronqvist <joel.h.kronqvist@gmail.com> | 2022-03-05 19:02:27 +0200 | 
|---|---|---|
| committer | Joel Kronqvist <joel.h.kronqvist@gmail.com> | 2022-03-05 19:02:27 +0200 | 
| commit | 5d309ff52cd399a6b71968a6b9a70c8ac0b98981 (patch) | |
| tree | 360f7eb50f956e2367ef38fa1fc6ac7ac5258042 /node_modules/deep-is | |
| parent | b500a50f1b97d93c98b36ed9a980f8188d648147 (diff) | |
| download | LYLLRuoka-5d309ff52cd399a6b71968a6b9a70c8ac0b98981.tar.gz LYLLRuoka-5d309ff52cd399a6b71968a6b9a70c8ac0b98981.zip  | |
Added node_modules for the updating to work properly.
Diffstat (limited to 'node_modules/deep-is')
| -rw-r--r-- | node_modules/deep-is/.travis.yml | 5 | ||||
| -rw-r--r-- | node_modules/deep-is/LICENSE | 22 | ||||
| -rw-r--r-- | node_modules/deep-is/README.markdown | 70 | ||||
| -rw-r--r-- | node_modules/deep-is/example/cmp.js | 11 | ||||
| -rw-r--r-- | node_modules/deep-is/index.js | 102 | ||||
| -rw-r--r-- | node_modules/deep-is/package.json | 58 | ||||
| -rw-r--r-- | node_modules/deep-is/test/NaN.js | 16 | ||||
| -rw-r--r-- | node_modules/deep-is/test/cmp.js | 23 | ||||
| -rw-r--r-- | node_modules/deep-is/test/neg-vs-pos-0.js | 15 | 
9 files changed, 322 insertions, 0 deletions
diff --git a/node_modules/deep-is/.travis.yml b/node_modules/deep-is/.travis.yml new file mode 100644 index 0000000..58f2371 --- /dev/null +++ b/node_modules/deep-is/.travis.yml @@ -0,0 +1,5 @@ +language: node_js +node_js: +  - 0.6 +  - 0.8 +  - 0.10 diff --git a/node_modules/deep-is/LICENSE b/node_modules/deep-is/LICENSE new file mode 100644 index 0000000..c38f840 --- /dev/null +++ b/node_modules/deep-is/LICENSE @@ -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. diff --git a/node_modules/deep-is/README.markdown b/node_modules/deep-is/README.markdown new file mode 100644 index 0000000..eb69a83 --- /dev/null +++ b/node_modules/deep-is/README.markdown @@ -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. diff --git a/node_modules/deep-is/example/cmp.js b/node_modules/deep-is/example/cmp.js new file mode 100644 index 0000000..67014b8 --- /dev/null +++ b/node_modules/deep-is/example/cmp.js @@ -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 } +    ) +]); diff --git a/node_modules/deep-is/index.js b/node_modules/deep-is/index.js new file mode 100644 index 0000000..506fe27 --- /dev/null +++ b/node_modules/deep-is/index.js @@ -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; +} diff --git a/node_modules/deep-is/package.json b/node_modules/deep-is/package.json new file mode 100644 index 0000000..dae72d7 --- /dev/null +++ b/node_modules/deep-is/package.json @@ -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 +      ] +    } +  } +} diff --git a/node_modules/deep-is/test/NaN.js b/node_modules/deep-is/test/NaN.js new file mode 100644 index 0000000..ddaa5a7 --- /dev/null +++ b/node_modules/deep-is/test/NaN.js @@ -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(); +}); diff --git a/node_modules/deep-is/test/cmp.js b/node_modules/deep-is/test/cmp.js new file mode 100644 index 0000000..3071013 --- /dev/null +++ b/node_modules/deep-is/test/cmp.js @@ -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(); +}); diff --git a/node_modules/deep-is/test/neg-vs-pos-0.js b/node_modules/deep-is/test/neg-vs-pos-0.js new file mode 100644 index 0000000..ac26130 --- /dev/null +++ b/node_modules/deep-is/test/neg-vs-pos-0.js @@ -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(); +}); +  | 
