Netherworld's Pretend Minibar

    deep-equal-in-any-order
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/deep-equal-in-any-order package

    1.1.13 • Public • Published

    deep-equal-in-any-order

    MIT License Build Status

    NPM status

    Chai plugin to match objects and arrays deep equality with arrays (including nested ones) being in any order.

    It works in similar way as deep.equal but it doesn't checks the arrays order (at any level of nested objects and arrays). The array elements can be any JS entity (boolean, null, number, string, object, array...).

    install

    npm i --save deep-equal-in-any-order
    

    or

    yarn add deep-equal-in-any-order
    

    usage

    const deepEqualInAnyOrder = require('deep-equal-in-any-order');
    const chai = require('chai');
    
    chai.use(deepEqualInAnyOrder);
    
    const { expect } = chai;
    
    expect([1, 2]).to.deep.equalInAnyOrder([2, 1]);
    expect([1, 2]).to.not.deep.equalInAnyOrder([2, 1, 3]);
    expect({ foo: [1, 2], bar: [4, 89, 22] }).to.deep.equalInAnyOrder({ foo: [2, 1], bar: [4, 22, 89] });
    expect({ foo: ['foo-1', 'foo-2', [1, 2], null ] }).to.deep.equalInAnyOrder({ foo: [null, [1, 2], 'foo-1', 'foo-2'] });
    expect({ foo: [1, 2], bar: { baz: ['a', 'b', { lorem: [5, 6] }] } }).to.deep.equalInAnyOrder({ foo: [2, 1], bar: { baz: ['b', 'a', { lorem: [6, 5] }] } });

    Install

    npm i deep-equal-in-any-order

    DownloadsWeekly Downloads

    67,143

    Version

    1.1.13

    License

    MIT

    Unpacked Size

    4.32 kB

    Total Files

    3

    Last publish

    Collaborators

    • oprogramador