<?php
namespace Parsers;

class ArgumentParser implements ParserInterface {

	#===========================================================================
	# Parse arguments (*without* duplicates)
	#===========================================================================
	public function parse(string $text): array {
		foreach(explode('|', $text) as $delimiter) {
			$part = explode('=', $delimiter);

			$argumentK = $part[0] ?? NULL;
			$argumentV = $part[1] ?? TRUE;

			if(preg_match('#^[[:word:]]+$#', $argumentK)) {
				$arguments[strtoupper($argumentK)] = $argumentV;
			}
		}

		return $arguments ?? [];
	}

	#===========================================================================
	# Transform arguments (not implemented)
	#===========================================================================
	public function transform(string $text): string {
		return '';
	}
}