intervalEngulfsDate
Signature
Section titled “Signature”intervalEngulfsDate(aStart: string, aEnd: string, bStart: string, bEnd: string): booleanimport { intervalEngulfsDate } from "@northguild/gmt/plain/interval";Return true when interval B is fully contained within interval A — every instant of B
- falls within A.
- Uses
Temporal.PlainDate.comparefor comparison. - Equivalent to 4-argument
intervalContainsDate(aStart, aEnd, bStart, bEnd). - Returns
falseif either interval is invalid (start > end). - Returns
falseon invalid input (wrong type, malformed strings). - Accepts GMT calendar-annotated PlainDate strings — E5 (issue #78). Ordering is calendar-independent, so arguments may carry different or no calendar tags (D4).
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
aStart |
string |
ISO 8601 date string for the outer interval start, optionally calendar-annotated |
aEnd |
string |
ISO 8601 date string for the outer interval end, optionally calendar-annotated |
bStart |
string |
ISO 8601 date string for the inner interval start, optionally calendar-annotated |
bEnd |
string |
ISO 8601 date string for the inner interval end, optionally calendar-annotated |
Returns
Section titled “Returns”true if B is fully contained in A, or false on invalid input
Examples
Section titled “Examples”intervalEngulfsDate("2024-01-01", "2024-12-31", "2024-06-01", "2024-07-01") // trueintervalEngulfsDate("2024-01-01", "2024-12-31", "2024-01-01", "2024-12-31") // true (equal intervals)intervalEngulfsDate("2024-01-01", "2024-12-31", "2024-06-01", "2024-12-31") // trueintervalEngulfsDate("2024-06-01", "2024-07-01", "2024-01-01", "2024-12-31") // falseintervalEngulfsDate("invalid", "2024-12-31", "2024-06-01", "2024-07-01") // false