CartShippingRateSchema
        
        extends AbstractSchema
    
    
            
            in package
            
        
    
    
    
        
            CartShippingRateSchema class.
Table of Contents
- EXTENDING_KEY = 'extensions'
 - Extending key that gets added to endpoint.
 - IDENTIFIER = 'cart-shipping-rate'
 - The schema item identifier.
 - $controller : SchemaController
 - Schema Controller instance.
 - $extend : ExtendSchema
 - Rest extend instance.
 - $title : string
 - The schema item name.
 - __construct() : mixed
 - Constructor.
 - get_endpoint_args_for_item_schema() : array<string|int, mixed>
 - Retrieves an array of endpoint arguments from the item schema for the controller.
 - get_item_response() : array<string|int, mixed>
 - Convert a shipping rate from WooCommerce into a valid response.
 - get_item_schema() : array<string|int, mixed>
 - Returns the full item schema.
 - get_properties() : array<string|int, mixed>
 - Cart schema properties.
 - get_public_item_schema() : array<string|int, mixed>
 - Returns the public schema.
 - force_schema_readonly() : array<string|int, mixed>
 - Force all schema properties to be readonly.
 - get_extended_data() : object
 - Returns extended data for a specific endpoint.
 - get_extended_schema() : array<string|int, mixed>
 - Returns extended schema for a specific endpoint.
 - get_item_responses_from_schema() : array<string|int, mixed>
 - Apply a schema get_item_response callback to an array of items and return the result.
 - get_rate_meta_data() : array<string|int, mixed>
 - Converts rate meta data into a suitable response object.
 - get_rate_prop() : string
 - Gets a prop of the rate object, if callable.
 - get_rate_properties() : array<string|int, mixed>
 - Schema for a single rate.
 - get_rate_response() : array<string|int, mixed>
 - Response for a single rate.
 - get_recursive_sanitize_callback() : function
 - Gets a function that sanitizes recursively.
 - get_recursive_schema_property_defaults() : array<string|int, mixed>
 - Gets an array of schema defaults recursively.
 - get_recursive_validate_callback() : function
 - Gets a function that validates recursively.
 - get_store_currency_properties() : array<string|int, mixed>
 - Returns consistent currency schema used across endpoints for prices.
 - prepare_currency_response() : array<string|int, mixed>
 - Adds currency data to an array of monetary values.
 - prepare_html_response() : string|array<string|int, mixed>
 - Prepares HTML based content, such as post titles and content, for the API response.
 - prepare_money_response() : string
 - Convert monetary values from WooCommerce to string based integers, using the smallest unit of a currency.
 - prepare_package_destination_response() : object
 - Gets and formats the destination address of a package.
 - prepare_package_items_response() : array<string|int, mixed>
 - Gets items from a package and creates an array of strings containing product names and quantities.
 - prepare_package_shipping_rates_response() : array<string|int, mixed>
 - Prepare an array of rates from a package for the response.
 - remove_arg_options() : mixed
 - Recursive removal of arg_options.
 
Constants
EXTENDING_KEY
Extending key that gets added to endpoint.
    public
    string
    EXTENDING_KEY
    = 'extensions'
        
    
IDENTIFIER
The schema item identifier.
    public
    string
    IDENTIFIER
    = 'cart-shipping-rate'
        
    
Properties
$controller
Schema Controller instance.
    protected
        SchemaController
    $controller
    
        
    
$extend
Rest extend instance.
    protected
        ExtendSchema
    $extend
    
        
    
$title
The schema item name.
    protected
        string
    $title
     = 'cart-shipping-rate'
        
    
Methods
__construct()
Constructor.
    public
                __construct(ExtendSchema $extend, SchemaController $controller) : mixed
        
        Parameters
- $extend : ExtendSchema
 - 
                    
Rest Extending instance.
 - $controller : SchemaController
 - 
                    
Schema Controller instance.
 
Return values
mixed —get_endpoint_args_for_item_schema()
Retrieves an array of endpoint arguments from the item schema for the controller.
    public
                get_endpoint_args_for_item_schema([string $method = WP_REST_Server::CREATABLE ]) : array<string|int, mixed>
        
        Parameters
- $method : string = WP_REST_Server::CREATABLE
 - 
                    
Optional. HTTP method of the request.
 
Tags
Return values
array<string|int, mixed> — Endpoint arguments.get_item_response()
Convert a shipping rate from WooCommerce into a valid response.
    public
                get_item_response(array<string|int, mixed> $package) : array<string|int, mixed>
        
        Parameters
- $package : array<string|int, mixed>
 - 
                    
Shipping package complete with rates from WooCommerce.
 
Return values
array<string|int, mixed> —get_item_schema()
Returns the full item schema.
    public
                get_item_schema() : array<string|int, mixed>
        
    
    
        Return values
array<string|int, mixed> —get_properties()
Cart schema properties.
    public
                get_properties() : array<string|int, mixed>
        
    
    
        Return values
array<string|int, mixed> —get_public_item_schema()
Returns the public schema.
    public
                get_public_item_schema() : array<string|int, mixed>
        
    
    
        Return values
array<string|int, mixed> —force_schema_readonly()
Force all schema properties to be readonly.
    protected
                force_schema_readonly(array<string|int, mixed> $properties) : array<string|int, mixed>
        
        Parameters
- $properties : array<string|int, mixed>
 - 
                    
Schema.
 
Return values
array<string|int, mixed> — Updated schema.get_extended_data()
Returns extended data for a specific endpoint.
    protected
                get_extended_data(string $endpoint, array<string|int, mixed> ...$passed_args) : object
        
        Parameters
- $endpoint : string
 - 
                    
The endpoint identifier.
 - $passed_args : array<string|int, mixed>
 - 
                    
An array of arguments to be passed to callbacks.
 
Return values
object — the data that will get added.get_extended_schema()
Returns extended schema for a specific endpoint.
    protected
                get_extended_schema(string $endpoint, array<string|int, mixed> ...$passed_args) : array<string|int, mixed>
        
        Parameters
- $endpoint : string
 - 
                    
The endpoint identifer.
 - $passed_args : array<string|int, mixed>
 - 
                    
An array of arguments to be passed to callbacks.
 
Return values
array<string|int, mixed> — the data that will get added.get_item_responses_from_schema()
Apply a schema get_item_response callback to an array of items and return the result.
    protected
                get_item_responses_from_schema(AbstractSchema $schema, array<string|int, mixed> $items) : array<string|int, mixed>
        
        Parameters
- $schema : AbstractSchema
 - 
                    
Schema class instance.
 - $items : array<string|int, mixed>
 - 
                    
Array of items.
 
Return values
array<string|int, mixed> — Array of values from the callback function.get_rate_meta_data()
Converts rate meta data into a suitable response object.
    protected
                get_rate_meta_data(WC_Shipping_Rate $rate) : array<string|int, mixed>
        
        Parameters
- $rate : WC_Shipping_Rate
 - 
                    
Rate object.
 
Return values
array<string|int, mixed> —get_rate_prop()
Gets a prop of the rate object, if callable.
    protected
                get_rate_prop(WC_Shipping_Rate $rate, string $prop) : string
        
        Parameters
- $rate : WC_Shipping_Rate
 - 
                    
Rate object.
 - $prop : string
 - 
                    
Prop name.
 
Return values
string —get_rate_properties()
Schema for a single rate.
    protected
                get_rate_properties() : array<string|int, mixed>
        
    
    
        Return values
array<string|int, mixed> —get_rate_response()
Response for a single rate.
    protected
                get_rate_response(WC_Shipping_Rate $rate[, string $selected_rate = '' ]) : array<string|int, mixed>
        
        Parameters
- $rate : WC_Shipping_Rate
 - 
                    
Rate object.
 - $selected_rate : string = ''
 - 
                    
Selected rate.
 
Return values
array<string|int, mixed> —get_recursive_sanitize_callback()
Gets a function that sanitizes recursively.
    protected
                get_recursive_sanitize_callback(array<string|int, mixed> $properties) : function
        
        Parameters
- $properties : array<string|int, mixed>
 - 
                    
Schema property data.
 
Return values
function — Anonymous validation callback.get_recursive_schema_property_defaults()
Gets an array of schema defaults recursively.
    protected
                get_recursive_schema_property_defaults(array<string|int, mixed> $properties) : array<string|int, mixed>
        
        Parameters
- $properties : array<string|int, mixed>
 - 
                    
Schema property data.
 
Return values
array<string|int, mixed> — Array of defaults, pulled from arg_optionsget_recursive_validate_callback()
Gets a function that validates recursively.
    protected
                get_recursive_validate_callback(array<string|int, mixed> $properties) : function
        
        Parameters
- $properties : array<string|int, mixed>
 - 
                    
Schema property data.
 
Return values
function — Anonymous validation callback.get_store_currency_properties()
Returns consistent currency schema used across endpoints for prices.
    protected
                get_store_currency_properties() : array<string|int, mixed>
        
    
    
        Return values
array<string|int, mixed> —prepare_currency_response()
Adds currency data to an array of monetary values.
    protected
                prepare_currency_response(array<string|int, mixed> $values) : array<string|int, mixed>
        
        Parameters
- $values : array<string|int, mixed>
 - 
                    
Monetary amounts.
 
Return values
array<string|int, mixed> — Monetary amounts with currency data appended.prepare_html_response()
Prepares HTML based content, such as post titles and content, for the API response.
    protected
                prepare_html_response(string|array<string|int, mixed> $response) : string|array<string|int, mixed>
        
        Parameters
- $response : string|array<string|int, mixed>
 - 
                    
Data to format.
 
Return values
string|array<string|int, mixed> — Formatted data.prepare_money_response()
Convert monetary values from WooCommerce to string based integers, using the smallest unit of a currency.
    protected
                prepare_money_response(string|float $amount[, int $decimals = 2 ][, int $rounding_mode = PHP_ROUND_HALF_UP ]) : string
        
        Parameters
- $amount : string|float
 - 
                    
Monetary amount with decimals.
 - $decimals : int = 2
 - 
                    
Number of decimals the amount is formatted with.
 - $rounding_mode : int = PHP_ROUND_HALF_UP
 - 
                    
Defaults to the PHP_ROUND_HALF_UP constant.
 
Return values
string — The new amount.prepare_package_destination_response()
Gets and formats the destination address of a package.
    protected
                prepare_package_destination_response(array<string|int, mixed> $package) : object
        
        Parameters
- $package : array<string|int, mixed>
 - 
                    
Shipping package complete with rates from WooCommerce.
 
Return values
object —prepare_package_items_response()
Gets items from a package and creates an array of strings containing product names and quantities.
    protected
                prepare_package_items_response(array<string|int, mixed> $package) : array<string|int, mixed>
        
        Parameters
- $package : array<string|int, mixed>
 - 
                    
Shipping package complete with rates from WooCommerce.
 
Return values
array<string|int, mixed> —prepare_package_shipping_rates_response()
Prepare an array of rates from a package for the response.
    protected
                prepare_package_shipping_rates_response(array<string|int, mixed> $package) : array<string|int, mixed>
        
        Parameters
- $package : array<string|int, mixed>
 - 
                    
Shipping package complete with rates from WooCommerce.
 
Return values
array<string|int, mixed> —remove_arg_options()
Recursive removal of arg_options.
    protected
                remove_arg_options(array<string|int, mixed> $properties) : mixed
        
        Parameters
- $properties : array<string|int, mixed>
 - 
                    
Schema properties.
 
