/*global Autolinker */ /** * @abstract * @class Autolinker.matcher.Matcher * * An abstract class and interface for individual matchers to find matches in * an input string with linkified versions of them. * * Note that Matchers do not take HTML into account - they must be fed the text * nodes of any HTML string, which is handled by {@link Autolinker#parse}. */ Autolinker.matcher.Matcher = Autolinker.Util.extend( Object, { /** * @cfg {Autolinker.AnchorTagBuilder} tagBuilder (required) * * Reference to the AnchorTagBuilder instance to use to generate HTML tags * for {@link Autolinker.match.Match Matches}. */ /** * @constructor * @param {Object} cfg The configuration properties for the Matcher * instance, specified in an Object (map). */ constructor : function( cfg ) { // @if DEBUG if( !cfg.tagBuilder ) throw new Error( '`tagBuilder` cfg required' ); // @endif this.tagBuilder = cfg.tagBuilder; }, /** * Parses the input `text` and returns the array of {@link Autolinker.match.Match Matches} * for the matcher. * * @abstract * @param {String} text The text to scan and replace matches in. * @return {Autolinker.match.Match[]} */ parseMatches : Autolinker.Util.abstractMethod } );