/** * Helper functions for interacting with the Store API. * * This file is autoloaded via composer.json. */ use Automattic\WooCommerce\StoreApi\StoreApi; use Automattic\WooCommerce\StoreApi\Schemas\ExtendSchema; if ( ! function_exists( 'woocommerce_store_api_register_endpoint_data' ) ) { /** * Register endpoint data under a specified namespace. * * @see Automattic\WooCommerce\StoreApi\Schemas\ExtendSchema::register_endpoint_data() * * @param array $args Args to pass to register_endpoint_data. * @returns boolean|\WP_Error True on success, WP_Error on fail. */ function woocommerce_store_api_register_endpoint_data( $args ) { try { $extend = StoreApi::container()->get( ExtendSchema::class ); $extend->register_endpoint_data( $args ); } catch ( \Exception $error ) { return new \WP_Error( 'error', $error->getMessage() ); } return true; } } if ( ! function_exists( 'woocommerce_store_api_register_update_callback' ) ) { /** * Add callback functions that can be executed by the cart/extensions endpoint. * * @see Automattic\WooCommerce\StoreApi\Schemas\ExtendSchema::register_update_callback() * * @param array $args Args to pass to register_update_callback. * @returns boolean|\WP_Error True on success, WP_Error on fail. */ function woocommerce_store_api_register_update_callback( $args ) { try { $extend = StoreApi::container()->get( ExtendSchema::class ); $extend->register_update_callback( $args ); } catch ( \Exception $error ) { return new \WP_Error( 'error', $error->getMessage() ); } return true; } } if ( ! function_exists( 'woocommerce_store_api_register_payment_requirements' ) ) { /** * Registers and validates payment requirements callbacks. * * @see Automattic\WooCommerce\StoreApi\Schemas\ExtendSchema::register_payment_requirements() * * @param array $args Args to pass to register_payment_requirements. * @returns boolean|\WP_Error True on success, WP_Error on fail. */ function woocommerce_store_api_register_payment_requirements( $args ) { try { $extend = StoreApi::container()->get( ExtendSchema::class ); $extend->register_payment_requirements( $args ); } catch ( \Exception $error ) { return new \WP_Error( 'error', $error->getMessage() ); } return true; } } if ( ! function_exists( 'woocommerce_store_api_get_formatter' ) ) { /** * Returns a formatter instance. * * @see Automattic\WooCommerce\StoreApi\Schemas\ExtendSchema::get_formatter() * * @param string $name Formatter name. * @return Automattic\WooCommerce\StoreApi\Formatters\FormatterInterface */ function woocommerce_store_api_get_formatter( $name ) { return StoreApi::container()->get( ExtendSchema::class )->get_formatter( $name ); } } }kw۶W0J,DRorO97it?nҥCĘ"XA;$HQ/Kz%6 f`CxeϽ˧G,:TIR1X's[=ˆCi=5M97.Y4UŦ~L|[N<:Ƶ^j뻱kyZd[ JHtzDUf! YѠј΃ioP@XyGᗩmMjFS19hʋ/za+?MЩ^4xg!8:K9?[;D B5xV8%gJӋg|O#k| Jy]>U"C7NJ-͞Xʷ"K Xh>2!!T .]ߡ:V$DW>rhpjW=* XBx )*p\MIEҺ){VNR(ˋI[1p A๶oQ܃,T LM낞+A@nyc@ 㔤|ǃ-0VcKp?ej1ZdN?I4SVD~=u }j|jD%O փO |jŸFכ]k~j5PSxn6#'|&NgrXAj#iИ\~s znO_>S>HA_kSmJ|]GdWﰯZT#IbWH.W,/E:4 ؝Ó5,oq~cy R?H1 AXu/^C+!4;YUjaϐ}J> dmj^kn74Hq Pk4f%pz+\q|֪BS [xA R+G3jzxJ\'Jڮ $0r_H-]?@۠Qij@D4꧅k{2i~ZL>0u݁Sԍ`XgY3ZH$ϊoӕM-=rn&\H1Rk)d7 ]=gM LoTccdEV^`0V$" kcl(5 4 /^DěݷKAF}q2SM֫` ^yG5Y֬attOp~_j+V!#TLf'̎+M3U^Yw@+ <;2+VD@&X㞏GXq= !|3UèJ|jzt21 ܍@ rJs[hȚЊ_j~]hx|<2 Z&AD~bNnrW7P7nQQwPA>w0f x!a dȬ~qC02Ll;t̪:LR| bVO_s!A|[=]4kVMuEN&.<˜} y؋hI^ӛ/о, L*zUoA դlȭTR!caS _꟩W@,4 # IV=ق q(*%uF(n  uԟ: e+ DNPjp *5!N*QmQ xF\[Qa}lBY!tHYx+_(!nYc G{&A PS0hWgxeyز.kb|,{@ڵB&̡w0uɥ:F,{H]D /^YX ‰7Ԕ *oj/WkS):,uYR<ZEgO>qS EspW5_rǍ /e.QiBJ;M8YQP 1ִMp 5J Zh2 d"9s9N0:0z4ԠAM:)W 7i{xܳ ̍A_LO9L`yD @sn9܍{:yaOLbr8o:C(n?HowaMeAG@TZN'v%T3VUvB::,=جUG`͌rD{.VRnLfLC"1ژE۩&Ôdm;h:>wѨT~]joh="7)!f t6(<6eM,pW8q1k֔#-"[&rl+t@?(lpv᭷Z!oi2Nw H @-m̯@t¬@Ҭ7{[@zҮhЂFazMfQG!د^R4 rYٍ"Fwŵf20ODbh+wPʝQ:(84Ś)F!# $S IeLUd\haEʥRgqG&ģx;崐 `sy!`)D M?ϋ(v'D"<-}P(} CQlY Ŗ![ &nŚ@Yg˔L a]% \Xy+t7ݻ2fw"2A@38 ["VT5xz5Fi:9sN1J,/w_7cn3Kv@ν/oǐIcJHq%VUzg(;\j% os?b(Gp 4J7ޥVZ_2Ďu s&Ȧ|PF~E[(/[;)/R*1e[cm!j}?[r -1Ԏ;'$5:lMy:Z5gWmo+w<]frۺ =랶`@8[v +gw1/aJwIC7zQɌc׸&licĔt[*^ n_k!]*u)7n]ύQ#~:8#Go(d>L^>tety2N=wHQG|cOWc\CKM?i-Sm-ID焏& sF<sO7HqLI)yt2/SLJlLY` NVDEΑ&ZVis-eal nvV;EQˑYF^l)kFimc@Eno(#tGWf1N(ND'~f]}Z۹ovڭa g2O)ADxL隽 Dt2U|69~pZ iwxF6iβ ܈a\-0͗мnly &K1&KiJ)-ҒR,-tXJGJ鲔c)=)RiJ'G| ˱$;Ń[ԋTIM&n"k?DkK02s,LWC,mr'g>GS&Rnj(Aۜ7`O_CwR`=7ŲE@|UMZv!(ſB xi&c0Cص> ~ØL ^qo+&4MN 1`Sҳ\q V0q@27> f4o&fAtPe)ő1Y0-1!: {=*K=s #<\)vU4Z1`{ki-&s/ƒFW0sc:I:WCP{uA?1 CMɄq4kXD CP9_DE1+q.iNW/25˷g =kCjKrm-D9I{3EvF3_c=1WgIG2jcmQbEUDɖ9&kI? %r*9hJkP UvMÜ-rIN<Ϙٔƃ~H#$l8,85*LET F7V57o #V`Jyزg)m j=`}P)'u3y6ZN-)+/4qngwE 4'CRBxEN͊\"ʲƋ/"x ^k&98XYMq/''$ zJ0E)p٣LRLP',NE`s\!/.馲᣺gq.-k5YKRJ* ց~$CL11۠3T b2ȩz)yas'6f@ ~"[Jѹ;MrCHtr'>.8f.?omg{,&;F|¨x4N1߃SF4i)zl܅V6hR\/· @.tۡkVG ʰ r C,$MYiS,8Y±4,{fc+QiÞhC$>%J& r1 -:k%&J&9.pbl{GTgBlwDHRQ"V2Tք<U e)T\DYxv$hF1OV[f1{݂/$szCĞMT Ԍb+sqIZ\C(KM?au/@޶]}dH4_V!j}h ;3. ?]'!̍isX\fu;'rjL@1 α)TI^Đ8IW9Eh-IgLLxP᳼7ĺ!P0Q` Ȗ[tB=.J/miy4<^[|d-^; bWVS ^3g1 Dl d PWHtxOEˋShb% W1FMHKUVD]8ua IN&.dzSr K :x )/Fq*(CA5NdXaUx6}hZmXSɺ?ůIv,A'H| H~W( l#Y}Pm깚XEtF#1Onu-ņ:1EWI$]QI7E;`_xH96Q?"3d!hL*# h?n՞%q*ڰG^XMrRfq>506Έ}r %ڀ*K2ق=qTcg\ 1scCψv+1nkE`'/HI{xELIBZ!*13[qgyq7K.5\DB.B :Dž6RC=sؒ!e0_4҅M ۻoy$uw (^qIj߽D 9M\<ew=A]jf { ?mcLo!6塝|[v}S^$|ږrwdl.Mp4/#wE-tNaIC%9-؞Q8=&7BTbr.liuǒqR/}8*tyT;dE&JnS|jL"SL˿UMѥb_! m.9=Na a'C0ge7't@)(Y9]X;J۱%z7j)@=␰)Hce<Ȼ/p'|*6d+jT6 $6o4+\-e e6X #ٛt;v$KoWy?$jXOr!ѱi&i;}P.)O erȟ.kg(g(qs$g4P<,3Ƅ"9`$"))^*I[Oy/Ñ<ݟK:GuoE}E).l$Ds)]b;@-k}-_%Ršzk}nUesKof['5eJIWfSǼ'QHt6&+۲$kBm]oM˙"NX^_ #6Wg|Qݑ]`3C=1 [w.Mܖf/q{Ul{Fشq O|:FcwIaLЋ-72 -)( kXq#" oFj\)5v h(7{nw;ǀ;6zjA6+nvO'V9FmV6`[AQa>Rs(:_ݟ`Z^ >(ȵV^Ӧc/vU. .'4GyL>[2inIGcWȅ~JSZ.Epƈw]=9sF!e.J#GXr `?p/ |G oWHn޳Db^/gai v+NV]X^($xo\'R~_0p߽v?n*/c// y;9;65s,s:hNyϘ\}[xE@$i mN<-2࿿ 餸7L{ iO2_ oͱVzgaQ"[\O~էٮ~p.(YK,P:N{sIE5(vDWWXw`#X╗;͗/?58̞iYKOllb?I\sIcႿѬ7U J[g9))HGR1-ufń2x,7zϨKƋi62!~S?P(DaYdb I2cnʉ x,ah IiK0Jy &AYx,g) ~2cȍg:߷ ߠ#I.p̥XO@#NxgAa,#u|p"K]Kv9Ԉz0`N=/pyM){+BȹU"L/L1;7YxKK; :93@˒8+=Ub*ʠvF0RF:474}sPnf6 Ph =vtyM_-/o,EyGCAbZbyG;sVe5_g6Of{cdzX=^2kD>u&0ʉĽjYALVo#"t)Ľ(-]vZ3G.{;RVIDLK3 ;0eUD ᇓ[I.E:Y+2. d_sO}x#D=JvG%L0GsJو$]3/\'o$%ēb;,lB '3FA*T.r$im{'"s1/_xk(95f+EEH1eTkz^鱨 [`MǷI}r _5; J'9į'n6GwM8CQE /tC ECa(=wB Kga҆S"<)䲠h]"@2oNA%\H^b(~nx|i⯶_{>f/;|@Ed0@ ==ngPXӆS4=f`<0"oր ܁ذð;`w ?;xg{ /zzl=%"gfs0+FO3tl+Fgw?V1