Asserts that the target starts with the expected members in order (consecutive from the beginning). Uses deep equality for comparison. Both the target and expected values must conform to ArrayLikeOrSizedIterable but can be different concrete types.
The assert scope.
The expected starting sequence (must be an ArrayLikeOrSizedIterable).
OptionalevalMsg: MsgSource
The message to display if the assertion fails.
import { assert } from "@nevware21/tripwire";
assert([{a: 1}, {b: 2}, {c: 3}]).has.deep.startsWithMembers([{a: 1}, {b: 2}]); // Passes
assert([{a: 1}, {b: 2}, {c: 3}]).has.deep.startsWithMembers([{a: 1}]); // Passes
assert([{a: 1}, {b: 2}, {c: 3}]).has.deep.startsWithMembers([{b: 2}]); // Fails - doesn't start with {b: 2}
assert(new Set([{a: 1}, {b: 2}])).has.deep.startsWithMembers([{a: 1}]); // Passes - different types
Export assertion functions