/**
 * Adapter is a structural design pattern that allows
 * objects with incompatible interfaces to collaborate.
 * It converts the interface of one object so that
 * another object can understand it.
 */ class Adaptee { public execute ( ) { return 'Adaptee' ; } } interface Client { call ( ) : string ; } class Adapter implements Client { public call ( ) { const adaptee = new Adaptee ( ) ; return adaptee . execute ( ) ; } } export default Adapter ;