Function matches

  • Creates a function that performs a deep comparison between a given target and the source object.

    Parameters

    • source: unknown

      The source object to create the matcher from.

    Returns ((target: unknown) => boolean)

    • Returns a function that takes a target object and returns true if the target matches the source, otherwise false.
      • (target): boolean
      • Parameters

        • target: unknown

        Returns boolean

    // Basic usage
    const matcher = matches({ a: 1, b: 2 });
    matcher({ a: 1, b: 2, c: 3 }); // true
    matcher({ a: 1, c: 3 }); // false
    // Matching arrays
    const arrayMatcher = matches([1, 2, 3]);
    arrayMatcher([1, 2, 3, 4]); // true
    arrayMatcher([4, 5, 6]); // false
    // Matching objects with nested structures
    const nestedMatcher = matches({ a: { b: 2 } });
    nestedMatcher({ a: { b: 2, c: 3 } }); // true
    nestedMatcher({ a: { c: 3 } }); // false