You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					152 lines
				
				4.1 KiB
			
		
		
			
		
	
	
					152 lines
				
				4.1 KiB
			| 
								 
											3 years ago
										 
									 | 
							
								export var __esModule: boolean;
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * @class Options
							 | 
						||
| 
								 | 
							
								 * @param {Object} [opts] Set option properties besides the defaults
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export function Options(opts?: any): void;
							 | 
						||
| 
								 | 
							
								export class Options {
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * @class Options
							 | 
						||
| 
								 | 
							
								     * @param {Object} [opts] Set option properties besides the defaults
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    constructor(opts?: any);
							 | 
						||
| 
								 | 
							
								    defaultProtocol: any;
							 | 
						||
| 
								 | 
							
								    events: any;
							 | 
						||
| 
								 | 
							
								    format: any;
							 | 
						||
| 
								 | 
							
								    formatHref: any;
							 | 
						||
| 
								 | 
							
								    nl2br: any;
							 | 
						||
| 
								 | 
							
								    tagName: any;
							 | 
						||
| 
								 | 
							
								    target: any;
							 | 
						||
| 
								 | 
							
								    rel: any;
							 | 
						||
| 
								 | 
							
								    validate: any;
							 | 
						||
| 
								 | 
							
								    truncate: any;
							 | 
						||
| 
								 | 
							
								    className: any;
							 | 
						||
| 
								 | 
							
								    attributes: any;
							 | 
						||
| 
								 | 
							
								    ignoreTags: any[];
							 | 
						||
| 
								 | 
							
								    resolve: (token: any) => {
							 | 
						||
| 
								 | 
							
								        formatted: any;
							 | 
						||
| 
								 | 
							
								        formattedHref: any;
							 | 
						||
| 
								 | 
							
								        tagName: any;
							 | 
						||
| 
								 | 
							
								        className: any;
							 | 
						||
| 
								 | 
							
								        target: any;
							 | 
						||
| 
								 | 
							
								        rel: any;
							 | 
						||
| 
								 | 
							
								        events: any;
							 | 
						||
| 
								 | 
							
								        attributes: any;
							 | 
						||
| 
								 | 
							
								        truncate: any;
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								    check: (token: any) => any;
							 | 
						||
| 
								 | 
							
								    get: (key: string, operator: any, token: MultiToken) => any;
							 | 
						||
| 
								 | 
							
								    getObject: (key: any, operator: any, token: any) => any;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								    Find a list of linkable items in the given string.
							 | 
						||
| 
								 | 
							
								    @param {string} str string to find links in
							 | 
						||
| 
								 | 
							
								    @param {string} [type] (optional) only find links of a specific type, e.g.,
							 | 
						||
| 
								 | 
							
								    'url' or 'email'
							 | 
						||
| 
								 | 
							
								*/
							 | 
						||
| 
								 | 
							
								export function find(str: string, ...args: any[]): {
							 | 
						||
| 
								 | 
							
								    type: string;
							 | 
						||
| 
								 | 
							
								    value: any;
							 | 
						||
| 
								 | 
							
								    isLink: boolean;
							 | 
						||
| 
								 | 
							
								    href: string;
							 | 
						||
| 
								 | 
							
								    start: number;
							 | 
						||
| 
								 | 
							
								    end: number;
							 | 
						||
| 
								 | 
							
								}[];
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * Initialize the linkify state machine. Called automatically the first time
							 | 
						||
| 
								 | 
							
								 * linkify is called on a string, but may be called manually as well.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export function init(): void;
							 | 
						||
| 
								 | 
							
								export var options: Readonly<{
							 | 
						||
| 
								 | 
							
								    __proto__: any;
							 | 
						||
| 
								 | 
							
								    defaults: {
							 | 
						||
| 
								 | 
							
								        defaultProtocol: string;
							 | 
						||
| 
								 | 
							
								        events: any;
							 | 
						||
| 
								 | 
							
								        format: typeof noop;
							 | 
						||
| 
								 | 
							
								        formatHref: typeof noop;
							 | 
						||
| 
								 | 
							
								        nl2br: boolean;
							 | 
						||
| 
								 | 
							
								        tagName: string;
							 | 
						||
| 
								 | 
							
								        target: any;
							 | 
						||
| 
								 | 
							
								        rel: any;
							 | 
						||
| 
								 | 
							
								        validate: boolean;
							 | 
						||
| 
								 | 
							
								        truncate: number;
							 | 
						||
| 
								 | 
							
								        className: any;
							 | 
						||
| 
								 | 
							
								        attributes: any;
							 | 
						||
| 
								 | 
							
								        ignoreTags: any[];
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								    Options: typeof Options;
							 | 
						||
| 
								 | 
							
								}>;
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * Detect URLs with the following additional protocol. Anything following
							 | 
						||
| 
								 | 
							
								 * "protocol:" will be considered a link.
							 | 
						||
| 
								 | 
							
								 * @param {string} protocol
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export function registerCustomProtocol(protocol: string): void;
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * Register a linkify extension plugin
							 | 
						||
| 
								 | 
							
								 * @param {string} name of plugin to register
							 | 
						||
| 
								 | 
							
								 * @param {Function} plugin function that accepts mutable linkify state
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export function registerPlugin(name: string, plugin: Function): void;
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * De-register all plugins and reset the internal state-machine. Used for
							 | 
						||
| 
								 | 
							
								 * testing; not required in practice.
							 | 
						||
| 
								 | 
							
								 * @private
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export function reset(): void;
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * Is the given string valid linkable text of some sort. Note that this does not
							 | 
						||
| 
								 | 
							
								 * trim the text for you.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Optionally pass in a second `type` param, which is the type of link to test
							 | 
						||
| 
								 | 
							
								 * for.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * For example,
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 *     linkify.test(str, 'email');
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Returns `true` if str is a valid email.
							 | 
						||
| 
								 | 
							
								 * @param {string} str string to test for links
							 | 
						||
| 
								 | 
							
								 * @param {string} [type] optional specific link type to look for
							 | 
						||
| 
								 | 
							
								 * @returns boolean true/false
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export function test(str: string, ...args: any[]): boolean;
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								    Parse a string into tokens that represent linkable and non-linkable sub-components
							 | 
						||
| 
								 | 
							
								    @param {string} str
							 | 
						||
| 
								 | 
							
								    @return {MultiToken[]} tokens
							 | 
						||
| 
								 | 
							
								*/
							 | 
						||
| 
								 | 
							
								export function tokenize(str: string): MultiToken[];
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								    Abstract class used for manufacturing tokens of text tokens. That is rather
							 | 
						||
| 
								 | 
							
								    than the value for a token being a small string of text, it's value an array
							 | 
						||
| 
								 | 
							
								    of text tokens.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    Used for grouping together URLs, emails, hashtags, and other potential
							 | 
						||
| 
								 | 
							
								    creations.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @class MultiToken
							 | 
						||
| 
								 | 
							
								    @param {string} value
							 | 
						||
| 
								 | 
							
								    @param {{t: string, v: string, s: number, e: number}[]} tokens
							 | 
						||
| 
								 | 
							
								    @abstract
							 | 
						||
| 
								 | 
							
								*/
							 | 
						||
| 
								 | 
							
								declare function MultiToken(): void;
							 | 
						||
| 
								 | 
							
								declare class MultiToken {
							 | 
						||
| 
								 | 
							
								    t: string;
							 | 
						||
| 
								 | 
							
								    isLink: boolean;
							 | 
						||
| 
								 | 
							
								    toString: () => string;
							 | 
						||
| 
								 | 
							
								    toHref: () => string;
							 | 
						||
| 
								 | 
							
								    startIndex: () => number;
							 | 
						||
| 
								 | 
							
								    endIndex: () => number;
							 | 
						||
| 
								 | 
							
								    toObject: (...args: any[]) => {
							 | 
						||
| 
								 | 
							
								        type: string;
							 | 
						||
| 
								 | 
							
								        value: any;
							 | 
						||
| 
								 | 
							
								        isLink: boolean;
							 | 
						||
| 
								 | 
							
								        href: string;
							 | 
						||
| 
								 | 
							
								        start: number;
							 | 
						||
| 
								 | 
							
								        end: number;
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								declare function noop(val: any): any;
							 | 
						||
| 
								 | 
							
								export {};
							 |