<?php namespace Phonon\Transducers; Reduce::extend(gettype([]), "\\Phonon\\Transducers\\Reduce\\ArrayReduce"); Reduce::extend(gettype(""), "\\Phonon\\Transducers\\Reduce\\StringReduce"); Reduce::extend("resource", "\\Phonon\\Transducers\\Reduce\\FileReduce"); Reduce::extend("Traversable", "\\Phonon\\Transducers\\Reduce\\TraversableReduce"); Into::extend(gettype([]), "\\Phonon\\Transducers\\Into\\ArrayInto"); Into::extend(gettype(""), "\\Phonon\\Transducers\\Into\\StringInto"); class Transducers { public static function wrap(callable $stepFn) { return new Transformer\Wrap($stepFn); } public static function reduced($value) { return new Reduced($value); } public static function isReduced($value) { return $value instanceof Reduced; } public static function ensureReduced($value) { if (self::isReduced($value)) { return $value; } return self::reduced($value); }