<?php
namespace WCML\MultiCurrency\Resolver;
use WCML\MultiCurrency\Settings;
class Factory {
/**
* @return Resolver
*/
public static function create() {
// $getOriginalProductLang :: int|string -> string|null
$getOriginalProductLang = function( $productId ) {
/** @var \woocommerce_wpml $woocommerce_wpml */
global $woocommerce_wpml;
return $woocommerce_wpml->products->get_original_product_language( $productId );
};
return new ComposedResolver( [
new ResolverForContext( $getOriginalProductLang ),
Settings::isModeByLocation() ? new ResolverForModeLocation() : new ResolverForModeLanguage(),
new ResolverForDefault(),
] );
}
}