Openet interview question

What is a directive in AngularJS?