@lou.codes/test
Version:
✅ Equality test with enforced readability
23 lines (22 loc) • 655 B
JavaScript
import { stringifyDifferenceDictionary } from "./stringifyDifferenceDictionary.js";
/**
* Takes a `Difference` object and returns a string using `stringifyDifferenceDictionary`.
*
* @category Output
* @example
* ```typescript
* stringifyDifference({
* kind: "DELETE",
* left: "🟢",
* path: ["🟢", "🟩"],
* }); // "🟢.🟩 is missing."
*
* stringifyDifference({
* kind: 8,
* error: "❌",
* }); // "there was an uncaught error: ❌."
* ```
* @param difference Difference object.
* @returns Formatted string.
*/
export const stringifyDifference = ({ kind, ...difference }) => stringifyDifferenceDictionary[kind](difference);