use ;
use crate::;
/// Parse an OR pattern - the top-level pattern parser.
///
/// This parser handles the OR operator (|) with left associativity.
/// It collects all patterns separated by | tokens and creates a single OR
/// pattern. If only one pattern is found, it returns that pattern directly.
///
/// This is the entry point for the pattern parsing hierarchy:
/// OR -> AND -> NOT -> PRIMARY (atomic patterns)
///
/// Examples:
/// - `bool | text` - matches values that are either boolean OR text
/// - `number | null` - matches values that are either numbers OR null
/// - `[*] | map` - matches values that are either arrays OR maps
pub