/** * 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 ); } } }ۖF)HEv$^Ȳ֎Xr{z-NHP Ţݗy}svd~`a#"Wyt HdFDFF%8{fV a.fׯjX&}BĜYsF"~6_Q|/[9v<ұF7MxNpW,AP\ǻ`pG +jl6 :ig`Yj (vbW8_@‰b7.o(r.{KNf/q~gg<iGԦƟF:j`~jך5qCV& 4$hWx/CKNk`Y~sګ8fK}i0Z8^sGVennN};Cm/_ƾ6~~l,8fI9qkze⣈D4cgW|=b_F뒻Kݴ޸9 }Qf.[Q9u=n4nܤ:@D˂ +M ܻ0d۹pfk# f=zTv2 .Z3 Gh燀&h=hCQ8 E =+qh|Ld?Զ@jSj'!}ZÎΧTOKSmYRZmRq֞uV~$*4^xV ']~[A]rעԓn>WTbn6J~8qJCT\OmfSOID=j(F6dqRxƟЄS^[ןpŋHS*_<7{EZzŠ ^F&%hQ =45Ӯ5W0WP~h:oaI`~PkGcWe>*IgL@?|A̳Ѹ?:o "s86+nE5K=ӛN aٯkĺb_80ΛRFf4IȦ^KhtMs>C`Q3{}e "뚂X`2Zz޽.[@3lakX,Ғ|i#z2̙k3(p-/Vj~,W};u7jTV9ĥԉg0歳V<+MJ?| ; jsQ ~?m2kPS G2Wn~n}maj`刲3y4pf?s萜78dE/Ѽ8f[΂D{;6L~[>2lսPDN`ny !V֣! tE>ĢM80#rsMQeM9V&o5y vj SPףg܅x[l5E*VKHa\{B_js='"/@-e;V$2hھDhn @OszGGNEh4+Ο>},fRय o:~D'L6bϜr{1O&~hy~ţ+-stO!'eV=Xpx'LgzKlY*/U|5EN?u5҉,LV@U}5wb`SpWh m>w\:6D _XSSjn74uԆM&8GW`b[. !Їe3%a6R?1veLd`.V= Q# ݀~ 1-FgY3Mx4iFϱnz͡3tyc+23y6n_7L@4SzԇM^!Hg  {MCW"E̸ASb7*S4}9P5T; &c`Hi|E+.4Rgr 893C`f80nRvR>/ؙ0 ߀)eIKw)3THk@?L5}K< ⃵ѽpAG(o-gZ>)๛yw~t:Xpv\w]w[鬻ڭt՝r3i^uY[69؞p/Ap|ܶq~*!ɫ_%c;OïU EG%J^h7mřbx| ]2F6=O&S!^x*p%[%R$d{s[ w(Vna@jW¤ׅ-P /n3Tj]tcY.&Ket, EqhOܯt7D"ݱ\ޫ|-nENgFm,"~j'ьh$yVP cQAk&13٬{%3m!ч܏'qٹ9ԫVV+Cq]:3q\'FkWdp.\Oޡ{3FVj&a%Q= #7#tR4rxQ;#O >H4{P z? hd"A'~=~ 7`J Rv@m^5JyxIBz%G['-z ÿ m%&:d;FQ;aDU$n2x*gS9!z0J]gNAGBRN)ƸVؚ D/&P ZFչSuUO(IéJ%=3L+$LC,$[BS"c;C$[ɎHÜHSD+'缓dr(g%ݻ6`27Ld7кmI^Gge8t/dN_T2YrԦ?>l֬!|/!??c1/ae><&RXv:Q'i Ѯ1"nCϯ<'ύqx>\ GUK^huҘ4 UY G'onL' Yn(I20暫JPƲ ڗ&SQ;蕰TA y^P? ,/LC˖Ra.]~hE16=Т{]둲,^`Pv 6GQ ZK6Zz:Vz=7Pt'A]iwo>R>DI_/xDӤ$Sn (j9S5v9Qe1fίw}1tmx5BO<_i.<c{i@낛r|,F v>k2iS6BD' Ob1_L vί#wKOYr0YAM@ܷM&1-Y O\a7ލExD/8aj/kTC{C׵KZ"OK͇I^.|]YɓMlH7x Mkv(hYAw`>(v?RR!O7J{tN-KtQu\YLHa<*K=OUSpN@oVRmGQd\/nkөy`R֏}B~(bktf[e=F scIna8LP mh[\"(j:uZǼ{QJ61I0+_ Bm<\{T$,"ʹ_Gၜ|hj́~3jDgrAdj- Xwg҅p + grl Ϥ\!flUt)2\) }{=@!c^ aYMVVZ{+ӧgbj 5JX!wjf L95-ñ QvnjBaP K욢{)7tKCⱮbU;FͺX'yWTXq4mPT C׋|O=IEtQY E sU^\W=kNc]Ѐvǝ\ XD4~F~c) *tmO~zATf'Ve?}j? fh̢ݏ{bqx^[=| R۳`ջ:p`-Tr|hi11跲4b*l5@z$ȕ(niJxe*Ay%CbwkF 7-1&o cj0c]#<5q{t֏%7a  ^Tu:54;-;i(mt90GXzE³K?}ú١d]5Jl63>3U=`D@:8.'TFy[ZR0d*x{E"pe)6Ϛsp"r堝e]hx0+d5ٜGq"z-pxbo<# ?S`WVsv;?"x3uN"ߝlt'񉿌7iS7dk Xħ@SX1%y?7<)$Z>a/?-`]74Xd@w@"i0p8];rD<4=:%2ws00@^p @ ; #2 Ȃ1dn9n-,\Nxx b5gȢY$rP$| B8y+ ŪgG!Ƶ{) JiIEnXJ̭CR\k@x&:0K>POyf8#i P0{ُ8;m:2)GMг 2w ڝtCXLK `!A:!v2N"eN!7Y쟒a%:aU9\Ǚ`' PN*{JȚ 2 NȠCh@PHZg:J&Eb rKRѢB1!&)f_̬=T(*D Ez.˞JB)0bF&DkLn<l#t(c7_? A쫀@'}.ܠB>cx{ bʙ98J@-0%R6tQ6Ca_>\D=̢~uS/86Z+ź/G=  0sLY 1Bd9#gn1HPnP&Y`!*'kWSUK"TY ƅ^qۡ/B34\tCeMG}G4rB,`j uؿ}#;Xfe!h3eyV΋/18@QB i䰦<)ŒMI̫besU-E/e:-uU6|/"O >3D?\Y)>D>"%@A! % m&;xd<#TPE3NIGˈ(~:'%'Ƕ]<7JG/ hO9BJCn 7zbŬɗcpYY r2R@M\g\*%yL)r 4?JS4,Rm`ضڏ' "ojSNN([K}ǖ݇V$mN}D8^ɦ 1,jD}+]ޫoj6Q7nSDgmL\TmN H [%dҽl&qZz;aL\0p 2d -k(3Aڪ+6swiat Wm51iTQ+ugfp_^1EE&U߫Af/ l&rݒEd|T 4o,x' 2Ņ$^ϙtS/G+z:rLdϚ;MBj h,gQH,˭)]2)E"dل'/lL$yX\X%܀^!=^n=}rZZPdJ 4 dw VlkkI9n&6g \Ge 쌾t(υO}W򈽅\t"<,1}i(ȨAl42'whRJ2wC1 R@ʤ BЛ6\T}3$)3ĠVEYVH'|K)z3 ouOFiSGvv}))*Hc,Sپv{mͮз s}8g.|guM3Io-0n@]Ɖ_ɵQHa ]K؍쏨KRW'wYָ||pĨEDn<Yҗ }"A*vI!ܢc^VĹpJhF7gɞg'(u_=ճ{*QLNU ]ʾ垑HVyQ1?9j]5Ԯ.h~mCs<j~u=zOW/s$ՠB.=@8BHNAU:!sdU|ЫDY&8Grבq67_)G2%&.ۨyHjJ T¡KXȅsɝ2mK`ڸ%2ܶ\@}zU|\@Sk}6T0̭7wfOl8,'b(U-o >uwrOĴ6n5utr5ZKqW*}+_$)~ RTX2 UQ 2&d[>Įu}Cۼ?:f9'pC6 [U)~h?M$QR {ׅO &(}Ή}nObL>F.g" oui^$B1+0̎9WSSpKS_)sgyD!LwQ#L[ʝJLR2ߔiZ\A2܋o{ZzoTGq>#>TKJ>xyw HUOt+Oqc;g4[oeL.@ixɡpQ\]&R+E0]׌ߟ5cJYAo Z@+{f6M Qߙw0 dak2 b[Br_FPyKZLv_b{U*uἌ2fɜGZ: L/LH  35Xv+u!yS۷ ?hqH2l8??.pԳquz[?ԣ%aWq~k#bB^BJtb?NU?&d/ē"c_vob%4p'򝇬}@* GJtoL%|v|Ox}tOoB4@BAɤ63əg9SsImu7e!LgLa!`8B\V$y/;(@uJOHzK*e%:ő>oSo [ pxFnm|e mNxϏj9p3oqBw31[4ٚoOk+D'!c-yɋ6!mA1!g 7E#x ߩT0A[w5WMmPF('HB9[,g!2Ztj읁h_ LWw#tĂߠ痀scQްj?o OEV˛Lx zKa6cqU*qo\BdQ7U's|~K3l$G__ap-~a2ΎQ'DgZ'/^TAjƮAIQJ?t"|=#s_qlš7N7 rMv#ܸ~ i]-F}^nCP\"1K>nVAXFɧ^J7E1#?Юa?|u/ߜ쿰n909QGuVg8M^'5IugZx[i Zst$<nHEs!略QH~X(93עBkyQO~5&$`9GG`⏊_ <Nf[}39 Im<ٖ[ CҾq7GT*}pי.U5s0( Mr fQ)%K [QDj7`mOCPK@ϡoEϡaHt>k9۲">wF?uz}A uh9"j}@{JI8@&\1\X;M>xȨ5Das~U<4ѲqMr9Ѭ1л0B0[mq4Tkؤq+}e~CԔ߷rR:Ž/ ͡[=6`Na-9NJ c :'zC]L}~[x )jK˦54>iUpp-JVZ`OK@]7NO/2rUthiFUrR~/Ltт.yCRW)OIII6(s,mn˷BH;Ƙ6w8r,Sᦾfk2~C)aWr}"LX5=Z-I-9$zWNLYb^x[Iڔ|iauPضSh,~YqK5 =ɷn[xEfxf;YxqANv'_`YW@?kn8F:'/)#-]T#!o햪x:&w^BdN#B}d{MDׯ0 tAGP敗э{՗Q4pPPu=TwJaSθʵ3%Htp6/hsRi K)P)D އw%N-&YfS;/U'5RN/sFAL~bRLzM,UXCPD0f7t=C!GK.g*_}y'Sa/-PN(DՙcK̤Jؙ-3m" 0֯8H?ʷ/CWXO=baȾ5 =) {зxהh~pw**FI-T@t>Us*S_G&S9{+Z;|KWKL 5` Jg4c7 ( I_o;֠?nf46]xxE}]'A&S*ӮI+Om|%AC٠hq,_ը'vfDzb&ܳa&"7^ɲ.GQ}pJ7jo aE S*Bmt|pLQ m0lۀO?'~"br!=|O:K2CP򃛍aZC&'E&+J"3ן!Oe~|50iS]Ey:ǧ1w9QReVUr%2J9M]݄+ǃ_IO|/5 R:ibIy|>ԟw_JLPCe0@ @GQiLJ 7 5//>kiyA~KFuV LiIvW YoqS7_ "chvx=6[+'?ejnjfcqbO̡o-oXI