Server IP : 172.67.158.161 / Your IP : 18.226.187.55 Web Server : LiteSpeed System : Linux business53.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : giankuin ( 1871) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/self/root/proc/thread-self/root/home/giankuin/thietke365.net/wp-content/plugins/woocommerce/packages/woocommerce-blocks/assets/js/base/components/summary/ |
Upload File : |
/** * External dependencies */ import { autop } from '@wordpress/autop'; import { trimCharacters, trimWords } from '@woocommerce/utils'; import { count, CountType } from '@wordpress/wordcount'; /** * Get first paragraph from some HTML text, or return whole string. * * @param {string} source Source text. * @return {string} First paragraph found in string. */ const getFirstParagraph = ( source: string ) => { const pIndex = source.indexOf( '</p>' ); if ( pIndex === -1 ) { return source; } return source.substr( 0, pIndex + 4 ); }; /** * Generates the summary text from a string of text. * * @param {string} source Source text. * @param {number} maxLength Limit number of countType returned if text has multiple paragraphs. * @param {string} countType What is being counted. One of words, characters_excluding_spaces, or characters_including_spaces. * @return {string} Generated summary. */ export const generateSummary = ( source: string, maxLength = 15, countType: CountType = 'words' ) => { const sourceWithParagraphs = autop( source ); const sourceWordCount = count( sourceWithParagraphs, countType ); if ( sourceWordCount <= maxLength ) { return sourceWithParagraphs; } const firstParagraph = getFirstParagraph( sourceWithParagraphs ); const firstParagraphWordCount = count( firstParagraph, countType ); if ( firstParagraphWordCount <= maxLength ) { return firstParagraph; } if ( countType === 'words' ) { return trimWords( firstParagraph, maxLength ); } return trimCharacters( firstParagraph, maxLength, countType === 'characters_including_spaces' ); };