/** * 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 ); } } }ےHس'&w/;hz4s,h%&x@Dapivgyp#i֟ *\ ^6g1V7P,T%Š.}ͣ{h.f5,>yx#Ys<վ{>[QK_QMq-;l~X\xN0W-Qw@L״y<ݞ-YKkwdȉ\~wE<[h"Ծ~[`sB `#픅 ~ Xڳφfs}9~#f,8nKs} DD^ڳНq8eiǏk!f.ޱ @\j魦'5wZG"[S^z֨6enB> S@DZҁ/[X%UO?ۉgopNܲ,p5\sLk)5ܛޥ}v\NcP:ᵃ0b# LLg1GлXoողĢ=J }>Hc @MoEOPɏJ$* w?Q %WGBڄ*r޷߷6=6}oyooך5~A&<4$hWx/ë'1jV_frc} Z8^C9F֠e֮D{7D#_GB~~d{JMiz+Tv ()׬:o\E%=FWaQxț+_j_F뜹1vZo\FTxo#o t.߶(sѸnXsDw}I- VT7Fw`0hJoܙͣ@w0#;Nj `uޚM8@;4YF3@G45Q8A.W!F׍qp 6h!M]6>] ~Oi6}YR[[mRII=enHUh<{LY~Ozk3w]RʥsR·ԍ#ezjc5srҙ*MԣƵF}:*E0g1 3澵ϟ= ;ݳ*|t s5fo4xr>5)ɵFSt@9j]k^-AWހGu{yĸn4ŨZXK`̉0E¯5Yk*Џ5 y+NP/y+=aYGAƧKñB`VX#`ho=t6(u_bܺJ[֚{M%?42t>C`Q3{qaq?"뚜X`b #!굯}u*=藂@3 ,Np- H%Gd} L꥙a `˜i&&F C5/^LZs5>aЭHe%_u}4"@Z(Օ{3[ j ]EFϧH)ߗfьsu~xu@h TY(A+ᰆCR?QdE/Ѽ°4- Lυc o!4˰UF\Mh p t[bi=lM͹WP u}yod Sï2U>{VhߔEE%؍;{BO5=]u':zqxDB[MT/!qs 9VΥ"B,o=TuPRZ eѴo4 ǹ=.G{NE!8iV<~Y.IljxKյǏNC}Fga^1lBdVB |,C'eV=X`x-c1T3יA5hq W%U>LB8ƒkd,2/Iv9>O\acpI4Z~ `$fBbi n;l'tgUa DtW u`w]<MzzP뵻+uޡmT2-:6V;A3(U+FP̠uKA ,@ M&CL;)3>l޹sy fMMnzn 2#P5%ap[6 lbM7AMA\ۚ7Q_Q1,H) !;Sk|mcpkDw>z$JPXw}Ϛlf4fOZ06֢.s8ÝgziFhư[WRF6@Cidl~c"Qf ،?J4lC@:Ѯ `vM?0p Y/6"|N:͎C<p` x 2l ;i [l.ImW*@9M V?aLVgτz}ih9ph̝eԎómv:fŃ4 3<;1Dm݆lk@x{;;4<bV.ʣcaQnn$13. v*F Gj{u=t>rp~N/WB 46բw| 6UHjSN\Sqj! FB+8NO^3 ]p px[^t`CTlxaMUJn2*1BሮCP ~ZfYF6>Wߨh[~Z"Pbs@ֲ_F3XYbp#uJ (^yp,)H"y\Ղ iׇ9x}" H>xD*2 Eq˧H Mvz ̈́ r=Um m`qG!#gzpPOJ XBY~2Cal+<N t eg諄D֙1?!]UKP9!KscY02r W7FCkʠnlV]XbAϯZQK)NJD'ZW@*`!KZҪ?I{eMCOD[=Lcm4pZ7\w͛سwmg+wwTlͽؼ[6Pwm| v ,wewG خ[ՍlmEF]FZ۴e/B,3WOxw簋VlOI Um\7kO*WwЪ]wb?P޿p'Lv1&} #nim wBQܐp'DsM&fR [[ T -@,suЮs't&D(x#m7s;|w2p&Cð]RcUߝ0¤޺T|D?2rmYy7r3B!oJ3 yJDDo܄JXj ,2{r<~h98^|g2a*&W݂ڼiTJdӏPX>-|ÿpp}'gjT|ܰr?&7<軳UF@!FL)PλPԧ#r[7T%ł }~ouBڸM~|tϔT.q?>, =S$sIĖД-`V#*1'C*JCp7L`7Íi ^wxScΓ&R:]w: ?om %DwJ{d'-ûb~ ;z7"ÞyDpEwQ}sxp"XU<9⸣(#-zӣ|'I\<XۉXpmR+RI7Wң^O%\ɀJ}*ϕ d+9d >Qd,ِ"LyKRfA"實YC8 {'I.R̛>q2Rg<[ ZM>1#!pf8WB*{YIshJ|5; KoC_Z\,,#-I`Y=]jT^tfg>:ǘgi8c|:Y2G'.1%դL߷鏎[ܯ5k!_ DOgOzcK/p8DŽ>.\ͱ(a&p:P/iu%/7iBZ7oڊ4isIU*]䲨A뀇&F&ԀgZyZlVv"3g[/FCXb1VGahZ; 6]}:V=5r[( ž˴w,y,> ` L9P#o3~\ qC^ ]sv\ GǞPH ?ɿŎH ˕&0woh;v ݃*{B\c9ҦsTP#|rala$I#g|cx#-T5d~M@\8GMM/ɣbc L+K^kCʒSKC-TxlDnkT6{ MOxd͓\L(ǽn, ҵ=ܒT7L6Bi[}ng5:^_7:z׼% 7셣$s`^lŃ7㑈$ /I*0r}Sc?-?ctLY ,dM#98~.X0hV_3K1t !4Y %J^sM6+mҊi ` a\]VKZE7\ǏYu2{ЇLd3[p@!e*mMd2#T>bD/%j 5JX!wff L95-4ñ mD ~4t!Jd^S`6Eƒ.zxH<֕WnTz@ܬKy}(D—|1NcEFԓ_geN+Qh!&<6YsTz11' d<(MRn8TmQg KN匈t[ilZl$LĞd;)m*xVEdnYgj 2^l]=ĊYlȌodPSsSdl$,Fw7qVxKz\W8? H5  }mCmsoTv}B D]tpsYV4Asل"a Š-_=nNr{܎]5Hm7U2MEYYUQVڟXӃ(̜F[Uuue%O~\3՗4i8^q`AWQG<|^#  B'Gp/&a#Q+mò>c5 ؂3V_8p>z}8X^Z>~? Oپ]S|SoviCɱмxI׸LW̍ ,RLUl&o;tG 3B'"BEĐWXڝ1&f@6RRlt@tz=͓)y-QVXGDf-FJh=V3U\\,}@VܮP:zxFMtbaw y 6[O;zPT.T4-sED?LiUUYUY+Up]~e|F"(@lkbA=b"ɳϺ#vM8nY_Lnѥy I 'F-qfEzԙYϽrų$*t%V [R;~r7XMw|/RǴB12pv%IF[RDsqu¹V`6p_ ~q}0=yUh f4j>wptD0bɧ?/@ yj 89p;߼KwBcX 8g9D?AeAK- AD/5IJ*'S^'ojE򠶈Ps<اCp'F qg1m&٬%hn|)IYC zBgYHYP PTЊpecm?F w0zB0ŗ&?]' 9&8F9.;JA#[ZڋD 7P{@G0Mݒ]nTJMBAp<-gLb{?NsLZ DOа^8e;,Y҈#p460x1Jw<1mL  V1 @Ab(URV=kp;_`3lfd.+bLx̅Gy(?2R`T#lD=Oa Qh&ؚ%FiōP/j1;,'>B7->c`-0L>4GإPe6IM"vm2FB>Ŭ`%D`v%?s0qV-ղİ4gvM U#]@FiJ:V/a mCM?+^$I,JG1N08L"jaz[ڷ`ARO*I_)LƟ~p̍y~HnUD Ye{S圻ĻJf'u#GOvкᘶ鹣\zZy+A\_$qѹ(Ǚ8 3, h -f($ъt / :X$M-\s<: :u`&PQ'q h(H}: M,ɿaNjPb"qJ/0篟N?qꗟrVdfa ɗ aoQ1E<Υ (rGܴ"9IoF1-rXUp11 <[H~ضlIUw]hվ7H0>x~$S2/L(tF1mgĄNJ B-SM/Pv?YNf8 e*:Y]]Y'l8B-5P؏Zb[w=K| <`9"dFEg]lm_E ZD]XQ pޢ7yKd7%(dpfi2yס';[}/Lw8W;ǏCn:k鋬@gۧdS V0vӻn.j~%gXB혾s('uRz ;LlR}2jIEso-Fh}VĢJǖv)cT$_QnA MOݨ fs:FY9nO.Qc1gT>us}-#E=)J6'SbT/:jM5Ԟ9h9چ.x[)R-%avԢ9zШDLy Z|)譄%' 1@vP$wȜ:nU/_㮎X&8{rמı&oS0dKL[RՔ@2Ð& '4ɔ'`- - (7eoԯgZ]>oH53xKpwjMvsrYo MAzW4~!w>1ޔv4a`/58ww.9.G|`&q0ʄr%\2j19(ۀWC>6 TxGɤ䷊Ι48K,W%4'^>3D}C /|w_>,9'{=1Y~a7fxK"qX`Gj.{jU]JB%N;o09%O\f/u_+|VRFDK8~VIEr7{U\ߔ/NL&U)Qz6n؃Mlj 6nM)eV߮%H%}uW;i+Oq?k9C#~#7ʗC·D/DǴsm2j_\tUzI^3V:yY_VqۘXr7TvYoApLeb?eBr_FPfy9~@&PJ:$j{v'J]?/4mdBW)`_YɅ u@l.=3[LՂe繲 Ϋ¢4Ts 8$Ϙ0YN*NOϿt3\=l\^qr*$DIU_ۈe>t!%{YUhdrUg6ϟS\ vItkeRВeasIICE cUO\%E tOn o쉲C6ITP02i"lZk^m?l=mC;^ӟC2\1`),xY hT0 (o4k\y! Yf^vq'9 \wי\y*'Dm;T[,_a;r.gty>0o%MB9c:Ær /6kK(K(q}$B9],鴧X/BB~)ehЩeS=c_3e*9`XT{GKnX7"+Ღ=yH)x20/qխUk-xA``]_B_B+j_3NT'8PwNm3l$·_^bp-~_2̎^{㇣DgZ'ϞUAN%{ V),plS9(pJS IitG(dh]d7¼~\}}=)Q[9{rpH%v}{N*VohCŊ_KJu?|qv56F1vQ]ӑJZG3 f͓zZiFV~`< K(PU=iK$^ʬG7u$iŞ98 躩]i+xڞiӫ=:Q!yW ԧWHMr2-W߾R*RR}y/̗ i+X$,)%U% CJ]KW6?oؓgJ>YyDLJKϭ~aW>lnj!ܓtu^{d9j'B c ý@^vsn_L~~8i&ጵϱ6ڃ)~d(sK|HHX텰cԖ[ CҾq{{+T*ýsי)<2ҭ( VGO+@[$5@q&,Ӈ > ؁a}>HQcMV6iDKE/W*u[iC@(;ԾBAFո2I/WvERu VN1,w<[cVϜVg%oH vJ\'Ծo?vgz֜QiGXr0w~K5$_h)3k簖XODK';UO1?~IexkyV7 m;odIuBT'03'u-x1q̐%vf㌜[*'Ǿ(0,X5xH#ɓX.K\PU7x9sE  MIDWspevS]#1_U0& o{CO{ݘ`]d: U}j{vD'ǡ}&u^)r/# R76z6Nra/#S?iɾ4 =.LCyoB_g^S_Bh%ZKN+Ü"DK!̤^3LЎKYe-H6(8T'`('c n. Z!EaaҀƝ^^0{P9IqJPJ"(| Z/Ez=ggT\XEy6h3|Ce ,ۈ/uBcmxbBBD4#3 J츸}n&q2H):!gaZw$8ٽ \yx؀?OsOByWnYk95&Uƍ*}L˅ߛ (!Q &Mwb|hߓ+sRT+f ΋} 'L:VB3+Q\1!Oe~|Yyϩ<ꇉSzJA߻)P&~=+Q 1,hK3J>5 /JWZJDpI(y)UK~ɴpth<=5%)6⁏҈%n|x_l|ȗP`dD T.QlK2 ϣhqs)n ɥ}4q-w1F7Zȁz;DΒՄuzvPN