PluginProbe ʕ •ᴥ•ʔ
WPML Multilingual & Multicurrency for WooCommerce / 5.5.7
WPML Multilingual & Multicurrency for WooCommerce v5.5.7
5.5.7 5.3.8 5.3.9 5.4.3 5.4.4 5.4.5 5.5.1 5.5.1.1 5.5.2.2 5.5.2.3 5.5.3 5.5.3.1 5.5.4 5.5.5 5.5.6 trunk 0.9 1.0 1.1 1.2 1.3 1.4 1.5 2.0 2.2 2.3 2.3.1 2.3.2 3.0 3.0.1 3.1 3.2 3.2.1 3.2.2 3.3 3.3.1 3.3.2 3.3.3 3.3.4 3.4 3.4.1 3.4.2 3.4.3 3.5 3.5.1 3.5.2 3.5.3 3.5.4 3.5.5 3.6 3.6.1 3.6.10 3.6.11 3.6.2 3.6.3 3.6.4 3.6.5 3.6.5.1 3.6.6 3.6.7 3.6.8 3.6.9 3.7 3.7.1 3.7.10 3.7.11 3.7.12 3.7.13 3.7.14 3.7.15 3.7.16 3.7.2 3.7.3 3.7.4 3.7.5 3.7.6 3.7.7 3.7.8 3.7.9 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.8.6 3.9.0 3.9.1 3.9.1.1 3.9.2 3.9.3 3.9.4 3.9.5 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.10.0 4.10.1 4.10.2 4.10.3 4.10.4 4.11.2 4.11.3.2 4.11.5 4.11.6 4.12.1 4.12.4 4.12.5 4.12.6 4.2.0 4.2.0.1 4.2.1 4.2.1.1 4.2.10 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.2.7.1 4.2.8 4.2.8.1 4.2.9 4.3.0 4.3.1 4.3.2 4.3.2.1 4.3.3 4.3.4 4.3.5 4.3.6 4.3.7 4.4.0 4.4.1 4.4.2 4.4.2.1 4.5.0 4.6.0 4.6.1 4.6.2 4.6.2.1 4.6.3 4.6.5 4.6.6 4.6.7 4.7.0 4.7.1 4.7.2 4.7.3 4.7.4 4.7.5 4.7.6 4.7.7 4.7.8 4.7.9 4.8.0 4.9.0 4.9.1 5.0.1 5.0.2 5.1.1 5.1.2 5.1.3 5.2.0 5.2.1 5.3.2 5.3.3.1 5.3.4 5.3.5 5.3.6 5.3.7
woocommerce-multilingual / vendor / otgs / installer / includes / utilities / FP / functions.php
woocommerce-multilingual / vendor / otgs / installer / includes / utilities / FP Last commit date
Traits 1 month ago Either.php 1 month ago Fns.php 1 month ago Invoker.php 1 month ago Logic.php 1 month ago Obj.php 1 month ago Relation.php 1 month ago Str.php 1 month ago Undefined.php 1 month ago functions.php 1 month ago
functions.php
89 lines
1 <?php
2
3 namespace OTGS\Installer\FP;
4
5 function partial( callable $function, $args ) {
6 $args = array_slice( func_get_args(), 1 );
7
8 return function () use ( $function, $args ) {
9 return call_user_func_array( $function, array_merge( $args, func_get_args() ) );
10 };
11 }
12
13 function pipe( callable $f, callable $g ) {
14 return call_user_func_array( 'OTGS\Installer\FP\compose', array_reverse( func_get_args() ) );
15 }
16
17 function compose( callable $f, callable $g ) {
18 $functions = func_get_args();
19
20 return function () use ( $functions ) {
21 $args = func_get_args();
22 foreach ( array_reverse( $functions ) as $function ) {
23 $args = array( call_user_func_array( $function, $args ) );
24 }
25
26 return current( $args );
27 };
28 }
29
30
31 function flip( callable $fn ) {
32 return function () use ( $fn ) {
33 $args = func_get_args();
34 if ( count( $args ) > 1 ) {
35 $temp = $args[0];
36 $args[0] = $args[1];
37 $args[1] = $temp;
38 }
39
40 return call_user_func_array( $fn, $args );
41 };
42 }
43
44 function gatherArgs( callable $fn ) {
45 return function ( ...$args ) use ( $fn ) {
46 return $fn( $args );
47 };
48 }
49
50 function invoke( $fnName ) {
51 return new _Invoker( $fnName );
52 }
53
54 function curryN( $count, Callable $fn ) {
55 $accumulator = function ( array $arguments ) use ( $count, $fn, &$accumulator ) {
56 return function () use ( $count, $fn, $arguments, $accumulator ) {
57 $oldArguments = $arguments;
58 $arguments = array_merge( $arguments, func_get_args() );
59
60 $replacementIndex = count( $oldArguments );
61 for ( $i = 0; $i < $replacementIndex; $i ++ ) {
62 if ( count( $arguments ) <= $replacementIndex ) {
63 break;
64 }
65 if ( $arguments[ $i ] === Fns::__ ) {
66 $arguments[ $i ] = $arguments[ $replacementIndex ];
67 unset( $arguments[ $replacementIndex ] );
68 $arguments = array_values( $arguments );
69 }
70 }
71
72 if ( ! in_array( Fns::__, $arguments, true ) && $count <= count( $arguments ) ) {
73 return call_user_func_array( $fn, $arguments );
74 }
75
76 return $accumulator( $arguments );
77 };
78 };
79
80 return $accumulator( [] );
81 }
82
83 function tryCatch( callable $fn ) {
84 try {
85 return Right::of( $fn() );
86 } catch ( \Exception $e ) {
87 return Either::left( $e );
88 }
89 }