get-selection-more
Advanced tools
Comparing version 1.0.1 to 1.0.2
@@ -1,2 +0,2 @@ | ||
function e(e=window){const t=(e.getSelection()||"").toString().trim();if(t)return t;const n=e.document.activeElement;if(n&&("INPUT"===n.tagName||"TEXTAREA"===n.tagName)){const e=n;return e.value.slice(e.selectionStart||0,e.selectionEnd||0)}return""}function t(e=window){const t=e.getSelection();if(!t||t.rangeCount<=0)return"";const n=t.toString();if(!n.trim())return"";const r=t.getRangeAt(0);return r?(c(r)+n+s(r)).replace(/\s+/g," ").trim():""}function n(e=window){const t=e.getSelection();if(!t||t.rangeCount<=0)return"";const n=t.toString();if(!n.trim())return"";const r=t.getRangeAt(0);return r?(function(e){if(e){const t=/[.?!。?!…]/,n=/[^\s.?!。?!…]/;for(let c=e.length-1;c>=0;c--){const s=e[c];if(t.test(s)){if("."===s&&n.test(e[c+1]))continue;return e.slice(c+1)}}}return e}(c(r))+n+function(e){const t=/^((\.(?![\s.?!。?!…]))|[^.?!。?!…])*([.?!。?!…]){0,3}/.exec(e);return t?t[0]:""}(s(r))).replace(/\s+/g," ").trim():""}function c(e){if(!e.startContainer)return"";let t=e.startContainer,n="";switch(t.nodeType){case Node.TEXT_NODE:{const c=t.textContent;c&&(n=c.slice(0,e.startOffset));break}case Node.COMMENT_NODE:case Node.CDATA_SECTION_NODE:break;default:t=t.childNodes[e.startOffset]}for(let e=t;a(e);e=e.parentElement)for(let t=e.previousSibling;a(t);t=t.previousSibling)n=r(t)+n;return n}function s(e){if(!e.endContainer)return"";let t=e.endContainer,n="";switch(t.nodeType){case Node.TEXT_NODE:{const c=t.textContent;c&&(n=c.slice(e.endOffset));break}case Node.COMMENT_NODE:case Node.CDATA_SECTION_NODE:break;default:t=t.childNodes[e.endOffset-1]}for(let e=t;a(e);e=e.parentElement)for(let t=e.nextSibling;a(t);t=t.nextSibling)n+=r(t);return n}function r(e){return e.nodeType===Node.TEXT_NODE?e.textContent||"":e.nodeType===Node.ELEMENT_NODE?e.innerText:""}function a(e){if(!e)return!1;switch(e.nodeType){case Node.TEXT_NODE:case Node.COMMENT_NODE:case Node.CDATA_SECTION_NODE:return!0;case Node.ELEMENT_NODE:switch(e.tagName){case"A":case"ABBR":case"B":case"BDI":case"BDO":case"BR":case"CITE":case"CODE":case"DATA":case"DFN":case"EM":case"I":case"KBD":case"MARK":case"Q":case"RP":case"RT":case"RTC":case"RUBY":case"S":case"SAMP":case"SMALL":case"SPAN":case"STRONG":case"SUB":case"SUP":case"TIME":case"U":case"VAR":case"WBR":return!0;default:return!1}default:return!1}}export{t as getParagraph,n as getSentence,e as getText}; | ||
function e(e=window){const t=(e.getSelection()||"").toString().trim();if(t)return t;const n=e.document.activeElement;if(n&&("INPUT"===n.tagName||"TEXTAREA"===n.tagName)){const e=n;return e.value.slice(e.selectionStart||0,e.selectionEnd||0)}return""}function t(e=window){const t=e.getSelection();if(!t||t.rangeCount<=0)return"";const n=t.toString();if(!n.trim())return"";const r=t.getRangeAt(0);return r?(c(r)+n+s(r)).replace(/\s+/g," ").trim():""}function n(e=window){const t=e.getSelection();if(!t||t.rangeCount<=0)return"";const n=t.toString();if(!n.trim())return"";const r=t.getRangeAt(0);return r?(function(e){if(e){const t=/[.?!。?!…]/,n=/[^\s.?!。?!…]/;for(let c=e.length-1;c>=0;c--){const s=e[c];if(t.test(s)){if("."===s&&n.test(e[c+1]))continue;return e.slice(c+1)}}}return e}(c(r))+n+function(e){const t=/^((\.(?![\s.?!。?!…]))|[^.?!。?!…])*([.?!。?!…]){0,3}/.exec(e);return t?t[0]:""}(s(r))).replace(/\s+/g," ").trim():""}function c(e){let t=e.startContainer,n="";switch(t.nodeType){case Node.TEXT_NODE:{const c=t.textContent;c&&(n=c.slice(0,e.startOffset));break}case Node.COMMENT_NODE:case Node.CDATA_SECTION_NODE:break;default:t=t.childNodes[e.startOffset]}for(let e=t;o(e);e=e.parentElement)for(let t=e.previousSibling;o(t);t=t.previousSibling)n=r(t)+n;return n}function s(e){let t=e.endContainer,n="";switch(t.nodeType){case Node.TEXT_NODE:{const c=t.textContent;c&&(n=c.slice(e.endOffset));break}case Node.COMMENT_NODE:case Node.CDATA_SECTION_NODE:break;default:t=t.childNodes[e.endOffset-1]}for(let e=t;o(e);e=e.parentElement)for(let t=e.nextSibling;o(t);t=t.nextSibling)n+=r(t);return n}function r(e){return e.nodeType===Node.TEXT_NODE?e.nodeValue:e.nodeType===Node.ELEMENT_NODE&&e.innerText||""}function o(e){if(!e)return!1;switch(e.nodeType){case Node.TEXT_NODE:case Node.COMMENT_NODE:case Node.CDATA_SECTION_NODE:return!0;case Node.ELEMENT_NODE:switch(e.tagName){case"A":case"ABBR":case"B":case"BDI":case"BDO":case"BR":case"CITE":case"CODE":case"DATA":case"DFN":case"EM":case"I":case"KBD":case"MARK":case"Q":case"RP":case"RT":case"RTC":case"RUBY":case"S":case"SAMP":case"SMALL":case"SPAN":case"STRONG":case"SUB":case"SUP":case"TIME":case"U":case"VAR":case"WBR":return!0}}return!1}export{t as getParagraph,n as getSentence,e as getText}; | ||
//# sourceMappingURL=get-selection-more.es.js.map |
@@ -1,2 +0,2 @@ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).getSelectionMore={})}(this,function(e){"use strict";function t(e){if(!e.startContainer)return"";var t=e.startContainer,n="";switch(t.nodeType){case Node.TEXT_NODE:var c=t.textContent;c&&(n=c.slice(0,e.startOffset));break;case Node.COMMENT_NODE:case Node.CDATA_SECTION_NODE:break;default:t=t.childNodes[e.startOffset]}for(var i=t;a(i);i=i.parentElement)for(var s=i.previousSibling;a(s);s=s.previousSibling)n=r(s)+n;return n}function n(e){if(!e.endContainer)return"";var t=e.endContainer,n="";switch(t.nodeType){case Node.TEXT_NODE:var c=t.textContent;c&&(n=c.slice(e.endOffset));break;case Node.COMMENT_NODE:case Node.CDATA_SECTION_NODE:break;default:t=t.childNodes[e.endOffset-1]}for(var i=t;a(i);i=i.parentElement)for(var s=i.nextSibling;a(s);s=s.nextSibling)n+=r(s);return n}function r(e){return e.nodeType===Node.TEXT_NODE?e.textContent||"":e.nodeType===Node.ELEMENT_NODE?e.innerText:""}function a(e){if(!e)return!1;switch(e.nodeType){case Node.TEXT_NODE:case Node.COMMENT_NODE:case Node.CDATA_SECTION_NODE:return!0;case Node.ELEMENT_NODE:switch(e.tagName){case"A":case"ABBR":case"B":case"BDI":case"BDO":case"BR":case"CITE":case"CODE":case"DATA":case"DFN":case"EM":case"I":case"KBD":case"MARK":case"Q":case"RP":case"RT":case"RTC":case"RUBY":case"S":case"SAMP":case"SMALL":case"SPAN":case"STRONG":case"SUB":case"SUP":case"TIME":case"U":case"VAR":case"WBR":return!0;default:return!1}default:return!1}}e.getParagraph=function(e){void 0===e&&(e=window);var r=e.getSelection();if(!r||r.rangeCount<=0)return"";var a=r.toString();if(!a.trim())return"";var c=r.getRangeAt(0);return c?(t(c)+a+n(c)).replace(/\s+/g," ").trim():""},e.getSentence=function(e){void 0===e&&(e=window);var r=e.getSelection();if(!r||r.rangeCount<=0)return"";var a=r.toString();if(!a.trim())return"";var c,i,s=r.getRangeAt(0);return s?(function(e){if(e)for(var t=/[.?!。?!…]/,n=/[^\s.?!。?!…]/,r=e.length-1;r>=0;r--){var a=e[r];if(t.test(a)){if("."===a&&n.test(e[r+1]))continue;return e.slice(r+1)}}return e}(t(s))+a+(c=n(s),i=/^((\.(?![\s.?!。?!…]))|[^.?!。?!…])*([.?!。?!…]){0,3}/.exec(c),i?i[0]:"")).replace(/\s+/g," ").trim():""},e.getText=function(e){void 0===e&&(e=window);var t=(e.getSelection()||"").toString().trim();if(t)return t;var n=e.document.activeElement;if(n&&("INPUT"===n.tagName||"TEXTAREA"===n.tagName)){var r=n;return r.value.slice(r.selectionStart||0,r.selectionEnd||0)}return""},Object.defineProperty(e,"__esModule",{value:!0})}); | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).getSelectionMore={})}(this,function(e){"use strict";function t(e){var t=e.startContainer,n="";switch(t.nodeType){case Node.TEXT_NODE:var c=t.textContent;c&&(n=c.slice(0,e.startOffset));break;case Node.COMMENT_NODE:case Node.CDATA_SECTION_NODE:break;default:t=t.childNodes[e.startOffset]}for(var s=t;a(s);s=s.parentElement)for(var i=s.previousSibling;a(i);i=i.previousSibling)n=r(i)+n;return n}function n(e){var t=e.endContainer,n="";switch(t.nodeType){case Node.TEXT_NODE:var c=t.textContent;c&&(n=c.slice(e.endOffset));break;case Node.COMMENT_NODE:case Node.CDATA_SECTION_NODE:break;default:t=t.childNodes[e.endOffset-1]}for(var s=t;a(s);s=s.parentElement)for(var i=s.nextSibling;a(i);i=i.nextSibling)n+=r(i);return n}function r(e){return e.nodeType===Node.TEXT_NODE?e.nodeValue:e.nodeType===Node.ELEMENT_NODE&&e.innerText||""}function a(e){if(!e)return!1;switch(e.nodeType){case Node.TEXT_NODE:case Node.COMMENT_NODE:case Node.CDATA_SECTION_NODE:return!0;case Node.ELEMENT_NODE:switch(e.tagName){case"A":case"ABBR":case"B":case"BDI":case"BDO":case"BR":case"CITE":case"CODE":case"DATA":case"DFN":case"EM":case"I":case"KBD":case"MARK":case"Q":case"RP":case"RT":case"RTC":case"RUBY":case"S":case"SAMP":case"SMALL":case"SPAN":case"STRONG":case"SUB":case"SUP":case"TIME":case"U":case"VAR":case"WBR":return!0}}return!1}e.getParagraph=function(e){void 0===e&&(e=window);var r=e.getSelection();if(!r||r.rangeCount<=0)return"";var a=r.toString();if(!a.trim())return"";var c=r.getRangeAt(0);return c?(t(c)+a+n(c)).replace(/\s+/g," ").trim():""},e.getSentence=function(e){void 0===e&&(e=window);var r=e.getSelection();if(!r||r.rangeCount<=0)return"";var a=r.toString();if(!a.trim())return"";var c,s,i=r.getRangeAt(0);return i?(function(e){if(e)for(var t=/[.?!。?!…]/,n=/[^\s.?!。?!…]/,r=e.length-1;r>=0;r--){var a=e[r];if(t.test(a)){if("."===a&&n.test(e[r+1]))continue;return e.slice(r+1)}}return e}(t(i))+a+(c=n(i),s=/^((\.(?![\s.?!。?!…]))|[^.?!。?!…])*([.?!。?!…]){0,3}/.exec(c),s?s[0]:"")).replace(/\s+/g," ").trim():""},e.getText=function(e){void 0===e&&(e=window);var t=(e.getSelection()||"").toString().trim();if(t)return t;var n=e.document.activeElement;if(n&&("INPUT"===n.tagName||"TEXTAREA"===n.tagName)){var r=n;return r.value.slice(r.selectionStart||0,r.selectionEnd||0)}return""},Object.defineProperty(e,"__esModule",{value:!0})}); | ||
//# sourceMappingURL=get-selection-more.umd.js.map |
@@ -15,2 +15,3 @@ /** | ||
const activeElement = win.document.activeElement; | ||
/* istanbul ignore else */ | ||
if (activeElement) { | ||
@@ -37,2 +38,4 @@ if (activeElement.tagName === 'INPUT' || activeElement.tagName === 'TEXTAREA') { | ||
const range = selection.getRangeAt(0); | ||
// double sanity check, which is unlikely to happen due to the rangeCount check above | ||
/* istanbul ignore if */ | ||
if (!range) { | ||
@@ -58,2 +61,4 @@ return ''; | ||
const range = selection.getRangeAt(0); | ||
// double sanity check, which is unlikely to happen due to the rangeCount check above | ||
/* istanbul ignore if */ | ||
if (!range) { | ||
@@ -69,5 +74,2 @@ return ''; | ||
function extractParagraphHead(range) { | ||
if (!range.startContainer) { | ||
return ''; | ||
} | ||
let startNode = range.startContainer; | ||
@@ -98,5 +100,2 @@ let leadingText = ''; | ||
function extractParagraphTail(range) { | ||
if (!range.endContainer) { | ||
return ''; | ||
} | ||
let endNode = range.endContainer; | ||
@@ -148,10 +147,11 @@ let tailingText = ''; | ||
const tailMatch = /^((\.(?![\s.?!。?!…]))|[^.?!。?!…])*([.?!。?!…]){0,3}/.exec(tailingText); | ||
return tailMatch ? tailMatch[0] : ''; | ||
// the regexp will match empty string so it is unlikely to have null result | ||
return tailMatch ? tailMatch[0] : /* istanbul ignore next */ ''; | ||
} | ||
function getTextFromNode(node) { | ||
if (node.nodeType === Node.TEXT_NODE) { | ||
return node.textContent || ''; | ||
return node.nodeValue; | ||
} | ||
else if (node.nodeType === Node.ELEMENT_NODE) { | ||
return node.innerText; | ||
return node.innerText || /* istanbul ignore next: SVG? */ ''; | ||
} | ||
@@ -202,10 +202,7 @@ return ''; | ||
return true; | ||
default: | ||
return false; | ||
} | ||
} | ||
default: | ||
return false; | ||
} | ||
return false; | ||
} | ||
//# sourceMappingURL=get-selection-more.js.map |
{ | ||
"name": "get-selection-more", | ||
"version": "1.0.1", | ||
"version": "1.0.2", | ||
"description": "Get text and context sentence from window.getSelection()", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
40173
233