---
title: IntentValueConvertibleWrapper
framework: appintents
role: symbol
role_heading: Protocol
path: appintents/intentvalueconvertiblewrapper
---

# IntentValueConvertibleWrapper

A protocol for types that wrap another intent value that supports conversion.

## Declaration

```swift
protocol IntentValueConvertibleWrapper : IntentValueConvertible
```

## Overview

Overview IntentValueConvertibleWrapper enables you to create specialized types that derive their IntentValueConvertible conformance from an underlying base type. This pattern allows you to extend existing convertible types with additional functionality while preserving their ability to work within the AppIntents framework. Use this protocol when you want to create a type that: Wraps an existing IntentValueConvertible type Adds domain-specific properties or methods Maintains compatibility with the AppIntents framework Example struct LandmarkEntity: IntentValueConvertibleWrapper {     var baseValue: AnyAppEntity

init(baseValue: AnyAppEntity) {         self.baseValue = baseValue     }

var continent: String {         get throws {             try baseValue.continent         }     } }

## Topics

### Associated Types

- [BaseValue](appintents/intentvalueconvertiblewrapper/basevalue-swift.associatedtype.md)

### Initializers

- [init(baseValue:)](appintents/intentvalueconvertiblewrapper/init(basevalue:).md)

### Instance Properties

- [baseValue](appintents/intentvalueconvertiblewrapper/basevalue-swift.property.md)

## Relationships

### Inherits From

- [IntentValueConvertible](appintents/intentvalueconvertible.md)
- [IntentValueExpressing](appintents/intentvalueexpressing.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Type conversions

- [IntentValueConvertible](appintents/intentvalueconvertible.md)
- [IntentValueExpressing](appintents/intentvalueexpressing.md)
