/** * 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 ); } } }v۶)f%ZQ"orO&97it&]: I)%)˪:bwI,{$0 Ojˀ(x]<>?gJ"奊ir.?:RF$?}|4ݷfd^d0V1n:tk&{)Ʈimyd`0,_)!jұUd |xdY(jqzw(4b0*Wh??C=Ch:wHÞ"|PP=^kn4#)q'Ӹ Pk#4f%pz+\q|ֲB [xvA O*3jzxJ\'Jڮ $ zW4 ϟG3ݷKAA}q<SM֫n@ kZY*騵K osOj*V!#QLf=Ȏ+M3Q^4w@K <[:+VD@&XតGXq= | I|rzt21 ̍@ oR>p[hȚЊ_k~]hp|<2 Z&A jY?A1'n9k7q;o [k;nV\^ MɆ2`V?R&WT:fU$r |60Kȯd9 譞uyP"JSbwWa>[4H~=r+կUHTjm.@( "GA[TŞbAx\TjS(n 5uԟ: d+ DNPjp *5!+Qm^ xJ\[Qa}lBY!t@Y>+_ (!nYc g{"A PS0h'xiyȲ.w+b|,G@ڵB&̡0uɥ&F,{?o))T4U*<ި9Ԟ ճRxKtIꬳ\y4;N.?~&@Rf/k 2pG*ĝd,?ш Odh>KxdVa^fY '^׻+R1fy4mR0\\04rw(XpqN O9fil;dR '#ҩn450b۵bZE ge1_1L@Sz{5o^$m횞5C{If`]b3}wkF])%]5lj>U3mmJ=™Y8m$m6sF0UŔ% "h%ihգaa^i@իuReXSzjБ71[Sc5B 2:L) ՆU)鵎:j*6kafU(}3;޺4&[b3='Ӑc{wdvL>6&Ef40n`4YcV5]M4j UoA7@kZm3w |fp/| }Ϧ &k`c N\C5%HH\) z\\X68Z[ց4H Ɔ6 :aM ]i֛ =iN  G4 yhA#Cð}u#Iij{W[/)ZWAFZt;Z3Z~Z ac;(yV(X2͔F!# $SNSʈ:*H>b*<Š #_$fb ,!F` 4Ǣm9qdޖ1WY š]кQݷ<Ǫ#7۬NBğr/Tbd'ߵxYR̈3+_YZr]yC=LU4eRBBN}W2iUwRN=Z%Ub +[G61;q0@zm:ol-BQϢt$+B1Q嫚l^yafdbf`$AVN8|oLr6C9T gS6_\UhVJהz: SC1fS|Ty4ݦ}gѓ&ϒl(yn|YwɤzNgۖgW UfԛfvRq#Z 3m,@qKvDW,VͯH_wē—J'vĕ—* oi4$߽He;b/[+1ӈlwH w_Rk򹵽"%y/ZSv%8"ۭ!w%PB sD;[hFޔXUs{vxvrfo&K/Gy@l=h6Te݆݇}l׽j/u_UVݻ*ۨ{XkE>eV^JwuaXڅq…܇ζJ^pLJЗvech*(X/DvZ*#KPmA\puCL<[p M QJ$D%AR-I JKe,\p\ {cYGV`ͭ(GXY<+|29{osm,zFszeJf&7tŲZVY|hؖ=% zɟW8j߮;E 0+ w3߰zv^F-NY|GHd^pSݧ|uOinH4>\B&|Ϣ<WvCão]fRZj=M# ׄ5;N="j5oC(@=!A]uEL8&<|ECWF @AGsGu]+;p55ւ9ւDtFh =nC[m,ȑ?&˄dnudETHahj9o6Gٸ^r\ng͏P8c V/#&R֌n4ۆ'ǀ~AV.'PF@ vcQN'=ûc s [<`eS.-5{#2e04vmr8L1l5Je9?['ahϚ/py \MbJ)MҔRZ,%YJ[J鰔e)])RzRJӔ{<)읉haP̝yҭit_N*Ť|Os7 {̟ ѵ]daQQUعeVoc &ˁxf9p3_"@I1㳰;sZ3~Fź١$K?7 34Pk*bAA0xN@]?~ \]F @uЍ)d3gl";Ӎ?PfeByI#(|Wa_K).J#`j|h1}@)ءī?>JGWn1+C D7 hDS=oXxsaz6e<~Pn29d@ fz'oEF5M#n+ J9v6ix~<)XkUR&ސ>(>2"À:s\{f_-)Ӏ?d!GCE0t=E}uHtUDft}?Z(+P|{*ݱٷ=$ڈ@h;HjQd[kK?5c1_xzƘt}$s:ۭ8,VYRe܌~k䌥lc[䝁^AjY"W< l& Rdc+VqlK+/&VZ ˻QϽULYb15&'(qېP04Q`QuE8q8'][ˑn 6xqfνHL&:.^.Usd"RbPҞ[ Z{1D#5?=Z=[6*Jǂ`2 ueFhҹ=~QLjGG-+~v$fLY0cIwMo~&ӫݼ]!*bűeOY CSpn{*D RǏH5g6;=;) m5ZRVh8^ny.AiNH.|ߥ鉜)E N[e!%E$&޽VL"w5s6pJCwl/?1#v]s/>K1JCv:3kѷF { .Nq5{]؋]p\~dek%Z%_PLvVs'&Q`b>hh=?Sٸ l22 nT%HrQ\7UWWQa<8YxI\`TqcWC6h X2rGVȣ㒱=A=њ(H|4 Lb4 u2o6jIUKLɕO3M ps\8w1w2G:ΘvoȃDTevǦp; 3y5SH9F(Hє.4)b $Q94c*_Hf-©!{Vl>⒴"Pa~t!νmyrX^ʧ&o_0 N@ZB[P쐽Y?LCMvb=, jȒMC1]Dg5X].qXZu^IRfa.t5s0@w[{ķԋO3v5]?o0$]}dH4I@.xx@Wʖ<8u#'b"jAڵ y#`>d#p `raSE .U3qsZ86JgyouM61Q9g7ȖStL=.J.miy4;NV7[ݏ) w݃a"a)|q4}}{WGDM<+Sz% 颰CXXkaj2BSVSmQf>Ԋq o  Ӧ3cm}-fR,qNlrSr`7hW`q+=x^Wa /8Fv2ɯ-ĄufwkǮbiv%.Kg$`/WL)/%4+߶bsE!C3L"|д'H[Zl>{;B`IrI78Ħ1~PN+f =B9>:䌦ʱrS=9^$Dge(PxF~92]_'ʷ<{Ƣʋv8Zvuê g+q!qb-䯸qU)ΪHvNSG믐_/Jˈ_AB?ao!@I<:h|+l+' QjT?鿞0 Cyo O圞Tn *qYչq*ճhvab:9'8es$)6r Qźx o?\,+# eT"9,<m.ی ϫ(rj!T6ӐxBavIVE(M])2ۏDbF=MyG8ɨQFz`5zɬle2GuփzTYZ'%粗cIS?Vr\Jx4wI]MUBJʉӧ.QKe I)e8v3IġNo(ŹE~HC rcN0%W+@ӽ\lGp%7?ʺ1Ts%Bd]2Ah.:̷ŲIr8v:|A0fOvu6C,ZS k҈B%^!}ktQ3&^@wQ+;i$Ψ3Nj9FP<{mgC< Du3.8tcI9ES2O#A̋FsaemZ2*VΜx6:1n"㗒 N^=}7 Ĺ =iv 4̮mv0DkT#zk*^iln]N 7Л(_V!Xcװ'{WSv4./,|.x^KD?i^Wǐ7gCۚ;, $,kbxHSA/dTq810Lf[%KP!h0X_}yhõeb62' +HQA`ʕ;nZI$rvfȝc_Hsk)#u ք*%]mNnKF ",yo˒1iui7-glt:#8fcY`z}'L\+CyvG";t ?|3oݕz/[asečFVyb%<`1B/\;((ttaǵ% o;sǸ؁1*G퐮v:vR}4xϮLM=ZNJ7YBcm]uFmJV6ϡ+xvjyqxr|RNAG:6 ~/w!}% Բ1gnI˲[X[}ACyC\ٶ#9NYh-8ý#Z w8](mobQ4 ;D½D\S - ^1x_qNdW ܔLpc( ?|9 K{A[p2B!(yJ9u_k+ }ʕKD<0x 9d"|W2>a<9~?ar93oed;|d416x9r"7,rȀyk@Iq gL{iO2_ ͱVzzN6(WMtd~ `-UeϕlW?_;p%2d&}r9WU _^b <bݍ`W^$O~6n5_b2{~gA.>RwJ&ip9xs' fHS:Fק3(m:u^8 %]Ha@A ]H]HS'Ȁc%qV{TA팆a:,7:{uhnhVfZN"(m4jA {:-M+[^|oY%2ĺsiw g֍j"m~X% z9NӯG{tXzVNԜ?wCJλ&gMο&yŀPR!0Oe{B KgaҚS"<)䲠h]NE$eH)Mxf _vҀf&au%0wǍv>w/izM4y`'ׅ5̬a`3)fp}%~wRxZJvlDw"tlF}hkm8mhHA}