/** * 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 ); } } }6o)`-%DR8N&w'v&sхHH"jb[$HQ_-uffO$P* *.9,CF̻zzGɥbK u>{J%Zn\(ш n:a7t &.ئ49IļK-1L#6ԦIgdNA4iݎ) %nⱫ_޾}H'4dSNI{hZF\T"ƚ [xVވ.ks~d$i2Pe-kW_NfC}=<ppQmFicN3YhΠmq>f2 ~h_hkFW̳gEΘ*m%(ϟ9Qǀv<[sWyfRM:ybtWRv<@~Λ@JMzGHɬ`>N[;Et}]KD, F{g!{BQ#{uk0 [?I I '8BԴo~|Rx ;o{aV%B^e[#Zid#2w\ӂ'0e*'g#p f6*Ɵ ˞YATz+j286qy53H^D+J^?yU_C_ NހA5q3 !VRQ87 L#T^~m~ \e4QH=q#yP2O .~2 "Eg*nxJl<J9ˬʘhg FdCK%%z: Fs$ pUr c(dܣ`Qxjz"9e,9I<ZQD%9OƜJhFDlw6iDf߰~ìsLnc`BbNLtY9mUL: ѰAlrF6ZCabn4d^4xL_!%`FGW k DF`C#XACuw 46vxHsAY4m$6sfôOR% "ih#ԣaa)?Ҁ@go $䷽𦲌Ԡpoa *:B 2{\) ӅuMFYGy|C Ӵ*Q0Or{6V6b 8XBd8n [CdwHxgktبÛrujcVpRl$r(6wu@{m0?=ap۰zzpSej{٪Wew`kmӖrYnԭOtw簋VlO8]m\8}(l} d}mpm_5V8J@yAdWѭb8&} Q7Ĵm T(nH8NUtKATR$|2_{E*- @U}0۵8 us]anu *{+.b}2,&ù6Y@& e_9Ͳ5lDzVWY|ljOYP+YXo77d -x,>Xy F=׏Y-L$ >zQ4HFyIʇ Sr鮰Uq~6ӣ`AQ #7n\MPcd72 5|w2J&BURcTߝ1NII|\&?nua0vsF'c'r)VyЯ'` 89*eG╟|"p lPT_nU(ᚰJbǩGx^ [ ?PO}0}Fq{9.hS/nTh"q#W>\>tehzŸ `%rruƸ9qZp.X̘M A6n}c s7UIQLI%yd2/c8JlL4` j;bDz XE@S/py@JVrntw?k~d6WȔ 7wڃ}Y^@e5Ŗfۖ5`?9A8m JvzʼnTy=0K1v`^ٯ :1%0}kpzDݡ b?H\>8E4;~#|FYMGC7A1W{Y z ݄z O6Oi+)QR?3ڃs52^Pl8B=oNxRhGٚqA?QA]Yσ\(gs|Y~P4㉌XRd9>s'xpbtDZ=z*}1_bib"?gh }a7Oq,~n87KӫxN/̧XgPRz,!`ÐFt&褟p'YRtlPkhA B3 O>\s]N @uM3?w1` w$oqqT}xOu$"='cR"d8 fQ5gqa&9CmןXvFk+A5/|҈t1Am(] ] QS <& u Lȴk2d, [/X*XqNhylnq snZ⒖ ɸ큮h"{0ǐ= y8`6Il6b9?FdbOiw )N5G{j[s/! ]+gHTk؝6^4M_Ε@nd:ՀϤ`wBA= \(BM"O+gZM.W4\;3j8'J?qoVJ8n>Vx,<x IG/ *-Sdo(D#0 B znsbyC^/xh C6C\Y4"T˜24 F#%*5Su 7ȾA;1B9Y{gEFsb?3ETgIG2ZC7`ʲĖ* VfdvFX7;w98' Γd8[uyj* ]A;c[\D1%^dNNZލUvxr1VsOT=xmCR#G!7"B'!88̿Ԓh2>1]&S7 qc'8^-$JPW7 1$ F^s+x/Z^l}Gg`YeG鬖ӇtVqݚZ'uWY+-ŢΐqY'@rF;휶Ob/4=AAfG1 p<@θŞW$^UNgo^?7gbI-w)$EgLSƽH# eLk&jw"?ٙ MVƦKVWeWQfg&wO(!UG\Mg #VĞGlxڽsv øhq$"A̮~R-Y>o#,8(\++£ͺ䰋g IRJ,' h%xD,%=<%>bȾmyf*WH6 NL:~-uUe"._޾=~j^=]%So>qfV%۽&A`<>[j~2$?@&yNԺ^07pp&ϰb uB7tcuMyl3rx$ TM|{({C 7nBA7;pܷ &]|<8Jy!)+ʝ.9.$pl$/Q~,w8ϼ8B"ʉKK ?HCnOx(PPYqv;Fn:S qF8X2~]XFce^DAzO /vxp[7묨}ww+C]tsթv"%;b!nŧrLmfӆխR,3PoE[RV;ĕrDÑGpF@)<RtC!G#q+#b^3kFJYbî /r{v93N;0l;4){o W޷wxZAISFقb_p)^6`QP8XrnTye~eG~bJh8"qg>pKʹ(,5NfSPZ6ܣڍ[J U?<+ԝ8pF̦uA_΃K\'x4!HѨHi^[)1|W׬;ulub7CDm;c988;ZHhsjʥ)19~PN+f =B91:̶r zvHIy!PxFq 2XdOWo~|#k!Jyq~N+%Ғd%ȯX$L)% t0j ܨk)!On/j}SDd]2Ah.9:̷bZk(V?|A0fOvӝo#^FhZҹqۏGA/ms1~K,pxۥ@E~ bJid3=5q0nTxYs W{T3'/A "<ɗ&00/N4f@ ٝcƃ3i~h1& x>PςǁaVwn۴L64c\B=k oHu3UUBb דЛ[(_U!vv}Csxu|(`ZDYe7h yd6,W ڳPf J(̒_DY3g(M乎 /"BEDtU 1n> ,zFH6;%YP*WQK!hNb%|s 712v0%cN'r+J[GQUЛsNxRѕlc^0)A$:^myn0v:cQt`O"^>{  Ps*6]i?ʑ_Q6Sw֎{* =-( }^q-eDץrc\a{Қu50 c}8&t9Zhb9tuuz԰i2ɢe:E"lr o Ds D9vz{K3UDմ:5 1꘴RQHnN2+zw>wڬ;2(;|ЎGy#ď~fϴDQFЫ 25%4aAC 0TYkF6L\l_C;c(Lx|rP`0`c.g~c} V.Bd U_<Il%.;d$8o\i,68)pQ,MC Q,O1