Optional options: KosCompanionOptionsConfiguration options for the companion decorator
A class decorator
// Decorator mode - all parent properties proxied
@kosCompanion()
class MyCompanion { }
// Composition mode - only getCompanionParent() available
@kosCompanion({ mode: 'composition' })
class MyCompanion { }
// Decorator mode with exclusions
@kosCompanion({ mode: 'decorator', excludeProperties: ['internalState'] })
class MyCompanion { }
// Lifecycle-deferred companion creation
@kosCompanion({ lifecycle: DependencyLifecycle.LOAD })
class DataDrivenCompanion { }
2.1.0
Class decorator that adds companion model capabilities to a KOS model.
Supports two patterns:
Important: Use TypeScript interface merging to get proper type information: