Configuration options for KosConfigProperty instances.

These options define how individual configuration properties access and display values from the backend configuration system. They specify the configuration path, attribute name, and optional unit conversion and formatting behavior.

Example: Basic Property Configuration

const pumpRateOptions: ConfigBeanPropOptions = {
path: 'assembly:core:board:micro:pump:S4',
attribute: 'nominalRate'
};

Example: Property with Unit Conversion

const temperatureOptions: ConfigBeanPropOptions = {
path: 'assembly:core:board:cooling',
attribute: 'targetTemperature',
converter: {
measure: 'temperature',
from: { unit: 'kelvin' },
to: { system: 'auto' }
},
formatter: {
style: 'unit',
maximumFractionDigits: 1
}
};
interface ConfigBeanPropOptions {
    path: string;
    attribute: string;
    converter?: {
        from?: UnitConverter;
        to?: UnitConverter;
    };
    formatter?: FormatOptions;
    optionsExpander?: OptionsExpander;
    serviceBasePath?: string;
}

Hierarchy (view full)

Properties

path: string

The hierarchical configuration path using colon-separated notation.

This path identifies the specific configuration bean that contains the target attribute. Must match the path used by the parent ConfigBeanModel.

Example: Common Configuration Paths

// Hardware component configuration
path: 'assembly:core:board:micro:pump:S4'

// System-level configuration
path: 'system:app'

// Service configuration
path: 'kos:service:CANPumpMgr'
attribute: string

The specific attribute name within the configuration bean.

This identifies which property within the configuration bean this KosConfigProperty instance should access and manage.

Example: Attribute Examples

attribute: 'nominalRate'      // For pump flow rates
attribute: 'targetTemperature' // For temperature settings
attribute: 'enabled' // For boolean flags
attribute: 'retryCount' // For numeric counters
converter?: {
    from?: UnitConverter;
    to?: UnitConverter;
}

Optional unit conversion configuration.

When provided, enables automatic conversion between backend storage units and regional display units. If omitted, no unit conversion is performed.

Type declaration

  • Optional from?: UnitConverter
  • Optional to?: UnitConverter

Example: Temperature Conversion

converter: {
from: { unit: 'kelvin', system: 'si' },
to: { system: 'auto' } // Auto-detect regional system
}
formatter?: FormatOptions

Optional display formatting configuration.

Configures how numeric values are formatted for display, including decimal places, units, and locale-specific formatting rules.

Example: Custom Formatting

formatter: {
style: 'unit',
unit: 'celsius',
maximumFractionDigits: 1,
minimumFractionDigits: 1
}
optionsExpander?: OptionsExpander

Optional predefined options for enumerated properties.

Provides a list of valid values for configuration properties that have discrete options rather than continuous values.

Example: Static Options

optionsExpander: [
{ label: 'Low', value: 'low' },
{ label: 'Medium', value: 'medium' },
{ label: 'High', value: 'high' }
]
serviceBasePath?: string

Optional custom service base path.

When provided, overrides the default configuration service endpoint. Useful for testing, development, or alternative service implementations.

Default

undefined (uses default KOS configuration service path)