resolve( Either::right( func_get_args() ) )->getOrElse( null ); }; foreach ( $actionsOrFilters as $actionOrFilter ) { $fn( $actionOrFilter, $callback, $priority, $accepted_args ); }; return $promise; } public static function callWithFilter( $fn, $name, $filterFn, $priority = 10, $acceptedArgs = 1 ) { add_filter( $name, $filterFn, $priority, $acceptedArgs ); $result = $fn(); remove_filter( $name, $filterFn, $priority, $acceptedArgs ); return $result; } public static function getArgs( array $argsLabels ) { return pipe( Obj::pick( Obj::keys( $argsLabels ) ), Obj::values(), Lst::zipObj( Obj::values( $argsLabels ) ) ); } }