basant307/AI_Governance_Project
048
1export type Options = {2 /**3 The position to truncate the string.4 5 @default 'end'6 */7 readonly position?: 'start' | 'middle' | 'end';8 9 /**10 Add a space between the text and the ellipsis.11 12 @default false13 14 @example15 ```16 import cliTruncate from 'cli-truncate';17 18 cliTruncate('unicorns', 5, {position: 'end', space: true});19 //=> 'uni …'20 21 cliTruncate('unicorns', 5, {position: 'end', space: false});22 //=> 'unic…'23 24 cliTruncate('unicorns', 6, {position: 'start', space: true});25 //=> '… orns'26 27 cliTruncate('unicorns', 7, {position: 'middle', space: true});28 //=> 'uni … s'29 ```30 */31 readonly space?: boolean;32 33 /**34 Truncate the string from a whitespace if it is within 3 characters from the actual breaking point.35 36 @default false37 38 @example39 ```40 import cliTruncate from 'cli-truncate';41 42 cliTruncate('unicorns rainbow dragons', 20, {position: 'start', preferTruncationOnSpace: true});43 //=> '…rainbow dragons'44 45 cliTruncate('unicorns rainbow dragons', 20, {position: 'middle', preferTruncationOnSpace: true});46 //=> 'unicorns…dragons'47 48 cliTruncate('unicorns rainbow dragons', 6, {position: 'end', preferTruncationOnSpace: true});49 //=> 'unico…'50 ````51 */52 readonly preferTruncationOnSpace?: boolean;53 54 /**55 The character to use at the breaking point.56 57 @default '…'58 59 @example60 ```61 import cliTruncate from 'cli-truncate';62 63 cliTruncate('unicorns', 5, {position: 'end'});64 //=> 'unic…'65 66 cliTruncate('unicorns', 5, {position: 'end', truncationCharacter: '.'});67 //=> 'unic.'68 69 cliTruncate('unicorns', 5, {position: 'end', truncationCharacter: ''});70 //=> 'unico'71 */72 readonly truncationCharacter?: string;73};74 75/**76Truncate a string to a specific width in the terminal.77 78@param text - The text to truncate.79@param columns - The number of columns to occupy in the terminal.80 81@example82```83import cliTruncate from 'cli-truncate';84 85cliTruncate('unicorn', 4);86//=> 'uni…'87 88// Truncate at different positions89cliTruncate('unicorn', 4, {position: 'start'});90//=> '…orn'91 92cliTruncate('unicorn', 4, {position: 'middle'});93//=> 'un…n'94 95cliTruncate('\u001B[31municorn\u001B[39m', 4);96//=> '\u001B[31muni…\u001B[39m'97 98// Note: When truncating styled text (ANSI escapes), the truncation character inherits the style at the breaking point for `position: 'start'` and `position: 'end'`. This does not apply to `position: 'middle'`.99 100// Truncate Unicode surrogate pairs101cliTruncate('uni\uD83C\uDE00corn', 5);102//=> 'uni\uD83C\uDE00…'103 104// Truncate fullwidth characters105cliTruncate('안녕하세요', 3);106//=> '안…'107 108// Truncate the paragraph to the terminal width109const paragraph = 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa.';110cliTruncate(paragraph, process.stdout.columns);111//=> 'Lorem ipsum dolor sit amet, consectetuer adipiscing…'112```113*/114export default function cliTruncate(115 text: string,116 columns: number,117 options?: Options,118): string;119 