JSPM

assert-json-equal

2.0.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 197
  • Score
    100M100P100Q88253F
  • License MIT

assert.deepStrictEqual for JSON object.

Package Exports

  • assert-json-equal
  • assert-json-equal/lib/assert-json-equal.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (assert-json-equal) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

assert-json-equal

assert.deepStrictEqual for JSON object.

assert-json-equal provide a assertJsonEqual function.

assert.deepStrictEqual discriminate undefined value and missing property.

const a = {};
const b = {
    undef: undefined
};
assert.throws(() => {
    assert.deepStrictEqual(a, b); // => throw
});

assertJsonEqual does not discriminate undefined value and missing property. It is useful for comparing JSON objects.

import { assertJsonEqual } from "assert-json-equal"
const a = {};
const b = {
    undef: undefined
};
assertJsonEqual(a, b); // => pass

Install

Install with npm:

npm install assert-json-equal

Usage

/**
 * `assert.deepStrictEqual` for JSON object.
 * Same API with `assert.deepStrictEqual(a, b, [message])`
 */
export declare const assertJsonEqual: (actual: any, expected: any, message?: string | Error | undefined) => void;

Mechanism

Serialize and Deserialize object with JSON before compare objects with assert.deepStrictEqual.

import assert from "assert";

const normalizeJSON = <T extends any>(json: T) => {
    return JSON.parse(JSON.stringify(json));
};
/**
 * `assert.deepStrictEqual` for JSON object.
 * Same API with `assert.deepStrictEqual(a, b, [message])`
 * @param actual
 * @param expected
 * @param message
 */
export const assertJsonEqual = (actual: any, expected: any, message?: string | Error) => {
    assert.deepStrictEqual(normalizeJSON(actual), normalizeJSON(expected), message);
}

Changelog

See Releases page.

Running tests

Install devDependencies and Run npm test:

npm test

Contributing

Pull requests and stars are always welcome.

For bugs and feature requests, please create an issue.

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

Author

License

MIT © azu