Detect links in a delta object.

Downloads in past


1.0.27 years ago7 years agoMinified + gzip package size for delta-detect-links in KB


NPM Version Build Status Dependencies
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.



This function detects all links in the given insert-only delta object.
const detectLinks = require('delta-detect-links');

detectLinks((new Delta()).insert('Visit\n'));
// → [ { insert: 'Visit ' }, { insert: '', attributes: { link: '' } }, { insert: '\n' } ]

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


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.


Similar to detectLinks but only contains the changes delta object.
const detectLinksDelta = require('delta-detect-links').detectLinksDelta;

detectLinksDelta((new Delta()).insert('Visit\n'));
// → [ { retain: 6 }, { retain: 15, attributes: { link: '' } } ]