delta-detect-links

    1.0.2 • Public • Published

    NPM Version Build Status Dependencies

    delta-detect-links

    Detect links in a delta object.

    This small library is based on linkify-it to detect links in a rich text Delta object. The main purpose for this library is to automatically detect links in Quill documents.

    API

    detectLinks

    This function detects all links in the given insert-only delta object.

    const detectLinks = require('delta-detect-links');
     
    detectLinks((new Delta()).insert('Visit www.example.com\n'));
    // → [ { insert: 'Visit ' }, { insert: 'www.example.com', attributes: { link: 'http://www.example.com' } }, { insert: '\n' } ]

    Already existing links in the given delta object will be skipped and not highlighted a second time.

    Options

    detectLinks supports an optional second parameter to set the following options:

    • skipTrailingMatch (default: false): This is useful when you want to detect links in real-time while the user types. In order to prevent detection of partial links the link will only be detected after another stop word has been encountered.
    • lastIndex: This option is only used in combination with skipTrailingMatch. This value is used to determine the trailing match. It is useful in scenarios where the current cursor is not at the same position as the end of the document.

    detectLinksDelta

    Similar to detectLinks but only contains the changes delta object.

    const detectLinksDelta = require('delta-detect-links').detectLinksDelta;
     
    detectLinksDelta((new Delta()).insert('Visit www.example.com\n'));
    // → [ { retain: 6 }, { retain: 15, attributes: { link: 'http://www.example.com' } } ]

    Install

    npm i delta-detect-links

    DownloadsWeekly Downloads

    150

    Version

    1.0.2

    License

    MIT

    Last publish

    Collaborators

    • anistal
    • holidaycheck-owner
    • lo1tuma