PluginProbe
WCPOS – Point of Sale (POS) plugin for WooCommerce / 1.9.14
WCPOS – Point of Sale (POS) plugin for WooCommerce v1.9.14
1.10.19 1.10.18 1.10.17 1.10.16 1.10.15 1.10.13 1.10.14 1.10.12 1.10.11 1.10.10 1.10.9 1.10.8 untagged-3d9b7ccddc54df87c672 1.10.7 1.10.6 1.10.5 1.10.3 1.10.4 1.10.2 1.10.1 1.10.0 1.9.17 1.9.15 1.9.16 1.9.14 All 163 releases
woocommerce-pos / includes / Services / Receipt_Output_Adapter_Factory.php

Receipt_Output_Adapter_Factory.php in WCPOS – Point of Sale (POS) plugin for WooCommerce 1.9.14, at includes/Services/Receipt_Output_Adapter_Factory.php

54 lines 1.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Receipt output adapter factory.
4 *
5 * @package WCPOS\WooCommercePOS\Services
6 */
7
8 namespace WCPOS\WooCommercePOS\Services;
9
10 use InvalidArgumentException;
11 use WCPOS\WooCommercePOS\Interfaces\Receipt_Output_Adapter_Interface;
12 use WCPOS\WooCommercePOS\Templates\Adapters\Cpcl_Output_Adapter;
13 use WCPOS\WooCommercePOS\Templates\Adapters\Epos_Xml_Output_Adapter;
14 use WCPOS\WooCommercePOS\Templates\Adapters\Escpos_Output_Adapter;
15 use WCPOS\WooCommercePOS\Templates\Adapters\Html_Output_Adapter;
16 use WCPOS\WooCommercePOS\Templates\Adapters\Starprnt_Output_Adapter;
17 use WCPOS\WooCommercePOS\Templates\Adapters\Tspl_Output_Adapter;
18 use WCPOS\WooCommercePOS\Templates\Adapters\Zpl_Output_Adapter;
19
20 /**
21 * Receipt_Output_Adapter_Factory class.
22 */
23 class Receipt_Output_Adapter_Factory {
24 /**
25 * Create output adapter by type.
26 *
27 * @param string $output_type Output type.
28 *
29 * @throws InvalidArgumentException If output type is unsupported.
30 *
31 * @return Receipt_Output_Adapter_Interface
32 */
33 public function create( string $output_type ): Receipt_Output_Adapter_Interface {
34 switch ( $output_type ) {
35 case 'html':
36 return new Html_Output_Adapter();
37 case 'escpos':
38 return new Escpos_Output_Adapter();
39 case 'epos-xml':
40 return new Epos_Xml_Output_Adapter();
41 case 'starprnt':
42 return new Starprnt_Output_Adapter();
43 case 'zpl':
44 return new Zpl_Output_Adapter();
45 case 'cpcl':
46 return new Cpcl_Output_Adapter();
47 case 'tspl':
48 return new Tspl_Output_Adapter();
49 default:
50 throw new InvalidArgumentException( 'Unsupported receipt output type: ' . esc_html( $output_type ) );
51 }
52 }
53 }
54