@visulima/string 1.4.0 → 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/dist/{packem_shared/alignText-CLZJuPP6.cjs → align-text.cjs} +1 -1
- package/dist/align-text.d.cts +13 -0
- package/dist/align-text.d.mts +13 -0
- package/dist/align-text.d.ts +13 -0
- package/dist/{packem_shared/alignText-BCKbnqhC.mjs → align-text.mjs} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +4 -26
- package/dist/index.d.mts +4 -26
- package/dist/index.d.ts +4 -26
- package/dist/index.mjs +1 -1
- package/dist/word-wrap.cjs +8 -0
- package/dist/word-wrap.d.cts +16 -0
- package/dist/word-wrap.d.mts +16 -0
- package/dist/word-wrap.d.ts +16 -0
- package/dist/word-wrap.mjs +8 -0
- package/package.json +27 -1
- package/dist/packem_shared/WrapMode-BZ3jkEf1.mjs +0 -8
- package/dist/packem_shared/WrapMode-DR7vv3px.cjs +0 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
## @visulima/string [1.4.1](https://github.com/visulima/visulima/compare/@visulima/string@1.4.0...@visulima/string@1.4.1) (2025-05-31)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
* **string:** add align-text and word-wrap modules to package.json ([6c9db17](https://github.com/visulima/visulima/commit/6c9db174387e9da6bd5f99b6e4e48c12aa19b313))
|
|
6
|
+
|
|
1
7
|
## @visulima/string [1.4.0](https://github.com/visulima/visulima/compare/@visulima/string@1.3.0...@visulima/string@1.4.0) (2025-05-31)
|
|
2
8
|
|
|
3
9
|
### Features
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var d=Object.defineProperty;var g=(t,e)=>d(t,"name",{value:e,configurable:!0});Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const h=require("
|
|
1
|
+
"use strict";var d=Object.defineProperty;var g=(t,e)=>d(t,"name",{value:e,configurable:!0});Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const h=require("./get-string-width.cjs");var c=Object.defineProperty,a=g((t,e)=>c(t,"name",{value:e,configurable:!0}),"n");const p=a((t,e)=>Math.floor((t-e)/2),"halfDiff"),m=a((t,e)=>t-e,"fullDiff"),S=a((t,e={})=>{const l=e.align??"center";if(l==="left")return t;const o=e.split??`
|
|
2
2
|
`,f=e.pad??" ",u=l==="right"?m:p;let s=!1;Array.isArray(t)||(s=!0,t=String(t).split(o));let i,n=0;return t=t.map(r=>(r=String(r),i=h.getStringWidth(r,e.stringWidthOptions),n=Math.max(i,n),{str:r,width:i})).map(r=>Array.from({length:u(n,r.width)+1}).join(f)+r.str),s?t.join(o):t},"alignText");exports.alignText=S;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { StringWidthOptions } from './get-string-width.cjs';
|
|
2
|
+
import './get-string-truncated-width.cjs';
|
|
3
|
+
|
|
4
|
+
type AlignTextOptions = {
|
|
5
|
+
align?: "center" | "left" | "right";
|
|
6
|
+
pad?: string;
|
|
7
|
+
split?: string;
|
|
8
|
+
stringWidthOptions?: StringWidthOptions;
|
|
9
|
+
};
|
|
10
|
+
declare const alignText: (text: string[] | string, options?: AlignTextOptions) => string[] | string;
|
|
11
|
+
|
|
12
|
+
export { alignText };
|
|
13
|
+
export type { AlignTextOptions };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { StringWidthOptions } from './get-string-width.mjs';
|
|
2
|
+
import './get-string-truncated-width.mjs';
|
|
3
|
+
|
|
4
|
+
type AlignTextOptions = {
|
|
5
|
+
align?: "center" | "left" | "right";
|
|
6
|
+
pad?: string;
|
|
7
|
+
split?: string;
|
|
8
|
+
stringWidthOptions?: StringWidthOptions;
|
|
9
|
+
};
|
|
10
|
+
declare const alignText: (text: string[] | string, options?: AlignTextOptions) => string[] | string;
|
|
11
|
+
|
|
12
|
+
export { alignText };
|
|
13
|
+
export type { AlignTextOptions };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { StringWidthOptions } from './get-string-width.js';
|
|
2
|
+
import './get-string-truncated-width.js';
|
|
3
|
+
|
|
4
|
+
type AlignTextOptions = {
|
|
5
|
+
align?: "center" | "left" | "right";
|
|
6
|
+
pad?: string;
|
|
7
|
+
split?: string;
|
|
8
|
+
stringWidthOptions?: StringWidthOptions;
|
|
9
|
+
};
|
|
10
|
+
declare const alignText: (text: string[] | string, options?: AlignTextOptions) => string[] | string;
|
|
11
|
+
|
|
12
|
+
export { alignText };
|
|
13
|
+
export type { AlignTextOptions };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var p=Object.defineProperty;var s=(t,r)=>p(t,"name",{value:r,configurable:!0});import{getStringWidth as c}from"
|
|
1
|
+
var p=Object.defineProperty;var s=(t,r)=>p(t,"name",{value:r,configurable:!0});import{getStringWidth as c}from"./get-string-width.mjs";var d=Object.defineProperty,i=s((t,r)=>d(t,"name",{value:r,configurable:!0}),"n");const m=i((t,r)=>Math.floor((t-r)/2),"halfDiff"),u=i((t,r)=>t-r,"fullDiff"),j=i((t,r={})=>{const l=r.align??"center";if(l==="left")return t;const o=r.split??`
|
|
2
2
|
`,g=r.pad??" ",h=l==="right"?u:m;let f=!1;Array.isArray(t)||(f=!0,t=String(t).split(o));let n,a=0;return t=t.map(e=>(e=String(e),n=c(e,r.stringWidthOptions),a=Math.max(n,a),{str:e,width:n})).map(e=>Array.from({length:h(a,e.width)+1}).join(g)+e.str),f?t.join(o):t},"alignText");export{j as alignText};
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("./
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("./align-text.cjs"),r=require("./case/camel-case.cjs"),s=require("./case/capital-case.cjs"),t=require("./case/constant-case.cjs"),i=require("./case/dot-case.cjs"),u=require("./case/flat-case.cjs"),n=require("./case/flip-case.cjs"),c=require("./case/identify-case.cjs"),l=require("./case/kebab-case.cjs"),C=require("./case/lower-first.cjs"),q=require("./case/no-case.cjs"),p=require("./case/pascal-case.cjs"),d=require("./case/pascal-snake-case.cjs"),o=require("./case/path-case.cjs"),g=require("./case/sentence-case.cjs"),_=require("./case/snake-case.cjs"),S=require("./case/split-by-case.cjs"),W=require("./case/title-case.cjs"),f=require("./case/train-case.cjs"),b=require("./case/upper-first.cjs"),h=require("./packem_shared/joinSegments-CDHNMXsF.cjs"),y=require("./get-string-truncated-width.cjs"),k=require("./get-string-width.cjs"),T=require("./outdent.cjs"),m=require("./packem_shared/replaceString-Ce8TI_-L.cjs"),w=require("./slice.cjs"),F=require("./packem_shared/slugify-CH3GI7E5.cjs"),M=require("./packem_shared/transliterate-CToQ-aeM.cjs"),j=require("./truncate.cjs"),e=require("./word-wrap.cjs");exports.alignText=a.alignText;exports.camelCase=r;exports.capitalCase=s;exports.constantCase=t;exports.dotCase=i;exports.flatCase=u;exports.flipCase=n.flipCase;exports.identifyCase=c;exports.kebabCase=l.kebabCase;exports.lowerFirst=C;exports.noCase=q;exports.pascalCase=p;exports.pascalSnakeCase=d;exports.pathCase=o;exports.sentenceCase=g;exports.snakeCase=_;exports.splitByCase=S.splitByCase;exports.titleCase=W;exports.trainCase=f;exports.upperFirst=b;exports.joinSegments=h;exports.getStringTruncatedWidth=y.getStringTruncatedWidth;exports.getStringWidth=k.getStringWidth;exports.outdent=T.outdent;exports.replaceString=m;exports.slice=w.slice;exports.slugify=F;exports.transliterate=M;exports.truncate=j.truncate;exports.WrapMode=e.WrapMode;exports.wordWrap=e.wordWrap;
|
package/dist/index.d.cts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
export { getStringWidth } from './get-string-width.cjs';
|
|
1
|
+
export { AlignTextOptions, alignText } from './align-text.cjs';
|
|
3
2
|
export { default as camelCase } from './case/camel-case.cjs';
|
|
4
3
|
export { default as capitalCase } from './case/capital-case.cjs';
|
|
5
4
|
export { default as constantCase } from './case/constant-case.cjs';
|
|
@@ -22,40 +21,19 @@ export { a as CamelCase, b as CapitalCase, C as CaseOptions, c as ConstantCase,
|
|
|
22
21
|
export { default as upperFirst } from './case/upper-first.cjs';
|
|
23
22
|
export { joinSegments } from './case/index.cjs';
|
|
24
23
|
export { StringTruncatedWidthOptions, StringTruncatedWidthResult, getStringTruncatedWidth } from './get-string-truncated-width.cjs';
|
|
24
|
+
export { StringWidthOptions, getStringWidth } from './get-string-width.cjs';
|
|
25
25
|
export { Outdent, Options as OutdentOptions, outdent } from './outdent.cjs';
|
|
26
26
|
import { O as OptionReplaceArray, k as IntervalArray, l as SlugifyOptions, m as OptionsTransliterate } from './packem_shared/types-BSdIWVzn.cjs';
|
|
27
27
|
export { A as All, n as Any, C as CharAt, o as Charmap, a as Concat, E as EndsWith, I as Includes, p as Interval, q as IsBooleanLiteral, r as IsNumberLiteral, j as IsStringLiteral, s as IsStringLiteralArray, J as Join, L as Length, M as Math, N as NodeLocale, t as OptionReplaceCombined, u as OptionReplaceObject, P as PadEnd, b as PadStart, v as Repeat, R as Replace, c as ReplaceAll, w as Reverse, S as Slice, d as Split, e as StartsWith, T as ToLowerCase, f as ToUpperCase, g as Trim, h as TrimEnd, i as TrimStart } from './packem_shared/types-BSdIWVzn.cjs';
|
|
28
28
|
export { SliceOptions, slice } from './slice.cjs';
|
|
29
29
|
export { TruncateOptions, truncate } from './truncate.cjs';
|
|
30
|
+
export { WordWrapOptions, WrapMode, wordWrap } from './word-wrap.cjs';
|
|
30
31
|
import './packem_shared/lru-cache-B_t27XwI.cjs';
|
|
31
32
|
|
|
32
|
-
type AlignTextOptions = {
|
|
33
|
-
align?: "center" | "left" | "right";
|
|
34
|
-
pad?: string;
|
|
35
|
-
split?: string;
|
|
36
|
-
stringWidthOptions?: StringWidthOptions;
|
|
37
|
-
};
|
|
38
|
-
declare const alignText: (text: string[] | string, options?: AlignTextOptions) => string[] | string;
|
|
39
|
-
|
|
40
33
|
declare const replaceString: (source: string, searches: OptionReplaceArray, ignoreRanges: IntervalArray) => string;
|
|
41
34
|
|
|
42
35
|
declare const slugify: (input: string, options?: SlugifyOptions) => string;
|
|
43
36
|
|
|
44
37
|
declare const transliterate: (source: string, options?: OptionsTransliterate) => string;
|
|
45
38
|
|
|
46
|
-
|
|
47
|
-
readonly BREAK_AT_CHARACTERS: "BREAK_AT_CHARACTERS";
|
|
48
|
-
readonly PRESERVE_WORDS: "PRESERVE_WORDS";
|
|
49
|
-
readonly STRICT_WIDTH: "STRICT_WIDTH";
|
|
50
|
-
readonly BREAK_WORDS: "BREAK_WORDS";
|
|
51
|
-
};
|
|
52
|
-
interface WordWrapOptions {
|
|
53
|
-
removeZeroWidthCharacters?: boolean;
|
|
54
|
-
trim?: boolean;
|
|
55
|
-
width?: number;
|
|
56
|
-
wrapMode?: keyof typeof WrapMode;
|
|
57
|
-
}
|
|
58
|
-
declare const wordWrap: (string: string, options?: WordWrapOptions) => string;
|
|
59
|
-
|
|
60
|
-
export { IntervalArray, OptionReplaceArray, OptionsTransliterate, SlugifyOptions, StringWidthOptions, WrapMode, alignText, replaceString, slugify, transliterate, wordWrap };
|
|
61
|
-
export type { AlignTextOptions, WordWrapOptions };
|
|
39
|
+
export { IntervalArray, OptionReplaceArray, OptionsTransliterate, SlugifyOptions, replaceString, slugify, transliterate };
|
package/dist/index.d.mts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
export { getStringWidth } from './get-string-width.mjs';
|
|
1
|
+
export { AlignTextOptions, alignText } from './align-text.mjs';
|
|
3
2
|
export { default as camelCase } from './case/camel-case.mjs';
|
|
4
3
|
export { default as capitalCase } from './case/capital-case.mjs';
|
|
5
4
|
export { default as constantCase } from './case/constant-case.mjs';
|
|
@@ -22,40 +21,19 @@ export { a as CamelCase, b as CapitalCase, C as CaseOptions, c as ConstantCase,
|
|
|
22
21
|
export { default as upperFirst } from './case/upper-first.mjs';
|
|
23
22
|
export { joinSegments } from './case/index.mjs';
|
|
24
23
|
export { StringTruncatedWidthOptions, StringTruncatedWidthResult, getStringTruncatedWidth } from './get-string-truncated-width.mjs';
|
|
24
|
+
export { StringWidthOptions, getStringWidth } from './get-string-width.mjs';
|
|
25
25
|
export { Outdent, Options as OutdentOptions, outdent } from './outdent.mjs';
|
|
26
26
|
import { O as OptionReplaceArray, k as IntervalArray, l as SlugifyOptions, m as OptionsTransliterate } from './packem_shared/types-BSdIWVzn.mjs';
|
|
27
27
|
export { A as All, n as Any, C as CharAt, o as Charmap, a as Concat, E as EndsWith, I as Includes, p as Interval, q as IsBooleanLiteral, r as IsNumberLiteral, j as IsStringLiteral, s as IsStringLiteralArray, J as Join, L as Length, M as Math, N as NodeLocale, t as OptionReplaceCombined, u as OptionReplaceObject, P as PadEnd, b as PadStart, v as Repeat, R as Replace, c as ReplaceAll, w as Reverse, S as Slice, d as Split, e as StartsWith, T as ToLowerCase, f as ToUpperCase, g as Trim, h as TrimEnd, i as TrimStart } from './packem_shared/types-BSdIWVzn.mjs';
|
|
28
28
|
export { SliceOptions, slice } from './slice.mjs';
|
|
29
29
|
export { TruncateOptions, truncate } from './truncate.mjs';
|
|
30
|
+
export { WordWrapOptions, WrapMode, wordWrap } from './word-wrap.mjs';
|
|
30
31
|
import './packem_shared/lru-cache-B_t27XwI.mjs';
|
|
31
32
|
|
|
32
|
-
type AlignTextOptions = {
|
|
33
|
-
align?: "center" | "left" | "right";
|
|
34
|
-
pad?: string;
|
|
35
|
-
split?: string;
|
|
36
|
-
stringWidthOptions?: StringWidthOptions;
|
|
37
|
-
};
|
|
38
|
-
declare const alignText: (text: string[] | string, options?: AlignTextOptions) => string[] | string;
|
|
39
|
-
|
|
40
33
|
declare const replaceString: (source: string, searches: OptionReplaceArray, ignoreRanges: IntervalArray) => string;
|
|
41
34
|
|
|
42
35
|
declare const slugify: (input: string, options?: SlugifyOptions) => string;
|
|
43
36
|
|
|
44
37
|
declare const transliterate: (source: string, options?: OptionsTransliterate) => string;
|
|
45
38
|
|
|
46
|
-
|
|
47
|
-
readonly BREAK_AT_CHARACTERS: "BREAK_AT_CHARACTERS";
|
|
48
|
-
readonly PRESERVE_WORDS: "PRESERVE_WORDS";
|
|
49
|
-
readonly STRICT_WIDTH: "STRICT_WIDTH";
|
|
50
|
-
readonly BREAK_WORDS: "BREAK_WORDS";
|
|
51
|
-
};
|
|
52
|
-
interface WordWrapOptions {
|
|
53
|
-
removeZeroWidthCharacters?: boolean;
|
|
54
|
-
trim?: boolean;
|
|
55
|
-
width?: number;
|
|
56
|
-
wrapMode?: keyof typeof WrapMode;
|
|
57
|
-
}
|
|
58
|
-
declare const wordWrap: (string: string, options?: WordWrapOptions) => string;
|
|
59
|
-
|
|
60
|
-
export { IntervalArray, OptionReplaceArray, OptionsTransliterate, SlugifyOptions, StringWidthOptions, WrapMode, alignText, replaceString, slugify, transliterate, wordWrap };
|
|
61
|
-
export type { AlignTextOptions, WordWrapOptions };
|
|
39
|
+
export { IntervalArray, OptionReplaceArray, OptionsTransliterate, SlugifyOptions, replaceString, slugify, transliterate };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
export { getStringWidth } from './get-string-width.js';
|
|
1
|
+
export { AlignTextOptions, alignText } from './align-text.js';
|
|
3
2
|
export { default as camelCase } from './case/camel-case.js';
|
|
4
3
|
export { default as capitalCase } from './case/capital-case.js';
|
|
5
4
|
export { default as constantCase } from './case/constant-case.js';
|
|
@@ -22,40 +21,19 @@ export { a as CamelCase, b as CapitalCase, C as CaseOptions, c as ConstantCase,
|
|
|
22
21
|
export { default as upperFirst } from './case/upper-first.js';
|
|
23
22
|
export { joinSegments } from './case/index.js';
|
|
24
23
|
export { StringTruncatedWidthOptions, StringTruncatedWidthResult, getStringTruncatedWidth } from './get-string-truncated-width.js';
|
|
24
|
+
export { StringWidthOptions, getStringWidth } from './get-string-width.js';
|
|
25
25
|
export { Outdent, Options as OutdentOptions, outdent } from './outdent.js';
|
|
26
26
|
import { O as OptionReplaceArray, k as IntervalArray, l as SlugifyOptions, m as OptionsTransliterate } from './packem_shared/types-BSdIWVzn.js';
|
|
27
27
|
export { A as All, n as Any, C as CharAt, o as Charmap, a as Concat, E as EndsWith, I as Includes, p as Interval, q as IsBooleanLiteral, r as IsNumberLiteral, j as IsStringLiteral, s as IsStringLiteralArray, J as Join, L as Length, M as Math, N as NodeLocale, t as OptionReplaceCombined, u as OptionReplaceObject, P as PadEnd, b as PadStart, v as Repeat, R as Replace, c as ReplaceAll, w as Reverse, S as Slice, d as Split, e as StartsWith, T as ToLowerCase, f as ToUpperCase, g as Trim, h as TrimEnd, i as TrimStart } from './packem_shared/types-BSdIWVzn.js';
|
|
28
28
|
export { SliceOptions, slice } from './slice.js';
|
|
29
29
|
export { TruncateOptions, truncate } from './truncate.js';
|
|
30
|
+
export { WordWrapOptions, WrapMode, wordWrap } from './word-wrap.js';
|
|
30
31
|
import './packem_shared/lru-cache-B_t27XwI.js';
|
|
31
32
|
|
|
32
|
-
type AlignTextOptions = {
|
|
33
|
-
align?: "center" | "left" | "right";
|
|
34
|
-
pad?: string;
|
|
35
|
-
split?: string;
|
|
36
|
-
stringWidthOptions?: StringWidthOptions;
|
|
37
|
-
};
|
|
38
|
-
declare const alignText: (text: string[] | string, options?: AlignTextOptions) => string[] | string;
|
|
39
|
-
|
|
40
33
|
declare const replaceString: (source: string, searches: OptionReplaceArray, ignoreRanges: IntervalArray) => string;
|
|
41
34
|
|
|
42
35
|
declare const slugify: (input: string, options?: SlugifyOptions) => string;
|
|
43
36
|
|
|
44
37
|
declare const transliterate: (source: string, options?: OptionsTransliterate) => string;
|
|
45
38
|
|
|
46
|
-
|
|
47
|
-
readonly BREAK_AT_CHARACTERS: "BREAK_AT_CHARACTERS";
|
|
48
|
-
readonly PRESERVE_WORDS: "PRESERVE_WORDS";
|
|
49
|
-
readonly STRICT_WIDTH: "STRICT_WIDTH";
|
|
50
|
-
readonly BREAK_WORDS: "BREAK_WORDS";
|
|
51
|
-
};
|
|
52
|
-
interface WordWrapOptions {
|
|
53
|
-
removeZeroWidthCharacters?: boolean;
|
|
54
|
-
trim?: boolean;
|
|
55
|
-
width?: number;
|
|
56
|
-
wrapMode?: keyof typeof WrapMode;
|
|
57
|
-
}
|
|
58
|
-
declare const wordWrap: (string: string, options?: WordWrapOptions) => string;
|
|
59
|
-
|
|
60
|
-
export { IntervalArray, OptionReplaceArray, OptionsTransliterate, SlugifyOptions, StringWidthOptions, WrapMode, alignText, replaceString, slugify, transliterate, wordWrap };
|
|
61
|
-
export type { AlignTextOptions, WordWrapOptions };
|
|
39
|
+
export { IntervalArray, OptionReplaceArray, OptionsTransliterate, SlugifyOptions, replaceString, slugify, transliterate };
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{alignText as a}from"./
|
|
1
|
+
import{alignText as a}from"./align-text.mjs";import{default as o}from"./case/camel-case.mjs";import{default as s}from"./case/capital-case.mjs";import{default as l}from"./case/constant-case.mjs";import{default as x}from"./case/dot-case.mjs";import{default as u}from"./case/flat-case.mjs";import{flipCase as n}from"./case/flip-case.mjs";import{default as c}from"./case/identify-case.mjs";import{kebabCase as S}from"./case/kebab-case.mjs";import{default as h}from"./case/lower-first.mjs";import{default as y}from"./case/no-case.mjs";import{default as w}from"./case/pascal-case.mjs";import{default as T}from"./case/pascal-snake-case.mjs";import{default as B}from"./case/path-case.mjs";import{default as q}from"./case/sentence-case.mjs";import{default as z}from"./case/snake-case.mjs";import{splitByCase as D}from"./case/split-by-case.mjs";import{default as G}from"./case/title-case.mjs";import{default as I}from"./case/train-case.mjs";import{default as K}from"./case/upper-first.mjs";import{default as N}from"./packem_shared/joinSegments-H7QJ7rwJ.mjs";import{getStringTruncatedWidth as P}from"./get-string-truncated-width.mjs";import{getStringWidth as R}from"./get-string-width.mjs";import{outdent as V}from"./outdent.mjs";import{default as Y}from"./packem_shared/replaceString-D7R-5VFX.mjs";import{slice as _}from"./slice.mjs";import{default as ee}from"./packem_shared/slugify-B1vlQQO1.mjs";import{default as ae}from"./packem_shared/transliterate-BXaP38Sh.mjs";import{truncate as oe}from"./truncate.mjs";import{WrapMode as se,wordWrap as pe}from"./word-wrap.mjs";export{se as WrapMode,a as alignText,o as camelCase,s as capitalCase,l as constantCase,x as dotCase,u as flatCase,n as flipCase,P as getStringTruncatedWidth,R as getStringWidth,c as identifyCase,N as joinSegments,S as kebabCase,h as lowerFirst,y as noCase,V as outdent,w as pascalCase,T as pascalSnakeCase,B as pathCase,Y as replaceString,q as sentenceCase,_ as slice,ee as slugify,z as snakeCase,D as splitByCase,G as titleCase,I as trainCase,ae as transliterate,oe as truncate,K as upperFirst,pe as wordWrap};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";var O=Object.defineProperty;var m=(t,e)=>O(t,"name",{value:e,configurable:!0});Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const f=require("./packem_shared/constants-D3K8u3G8.cjs"),S=require("./get-string-width.cjs");var T=Object.defineProperty,_=m((t,e)=>T(t,"name",{value:e,configurable:!0}),"n");let R=class{static{m(this,"m")}static{_(this,"AnsiStateTracker")}activeForeground=null;activeBackground=null;activeFormatting=[];processEscape(e){const i=/\x1B\[(\d+)m/.exec(e);if(!i)return;const r=Number.parseInt(i[1],10);switch(r){case 0:{this.activeForeground=null,this.activeBackground=null,this.activeFormatting=[];break}case 39:{this.activeForeground=null;break}case 49:{this.activeBackground=null;break}default:if(r>=30&&r<=37||r>=90&&r<=97)this.activeForeground=e;else if(r>=40&&r<=47||r>=100&&r<=107)this.activeBackground=e;else if([1,2,3,4,7,8,9].includes(r))this.activeFormatting.push(e);else if([22,23,24,27,28,29].includes(r)){const l={22:"[1m",23:"[3m",24:"[4m",27:"[7m",28:"[8m",29:"[9m"}[r];l&&(this.activeFormatting=this.activeFormatting.filter(a=>!a.includes(l)))}}}getStartEscapesForAllActiveAttributes(){return[this.activeBackground,this.activeForeground,...this.activeFormatting].filter(Boolean).join("")}getEndEscapesForAllActiveAttributes(){const e=[];if(this.activeFormatting.length>0){const i={"\x1B[1m":"\x1B[22m","\x1B[2m":"\x1B[22m","\x1B[3m":"\x1B[23m","\x1B[4m":"\x1B[24m","\x1B[7m":"\x1B[27m","\x1B[8m":"\x1B[28m","\x1B[9m":"\x1B[29m"};[...this.activeFormatting].reverse().forEach(r=>{const l=i[r];l&&e.push(l)})}return this.activeForeground&&e.push("\x1B[39m"),this.activeBackground&&e.push("\x1B[49m"),e.join("")}};var $=Object.defineProperty,w=m((t,e)=>$(t,"name",{value:e,configurable:!0}),"o");const F=w((t,e)=>{if(!f.O.has(t[e]))return{isInsideEscape:!1,isInsideLinkEscape:!1};const i=!0,r=t.slice(e+1,e+1+f.P.length).join("")===f.P;return{isInsideEscape:i,isInsideLinkEscape:r}},"checkEscapeSequence"),C=w((t,e={})=>{const i=new R;let r="",l=!1,a=!1,n="",s="",u=!1;const h=[...t];for(let c=0;c<h.length;c++){const o=h[c];if(o&&f.O.has(o)){if(r){const p=e.getWidth?.(r)??0,E={isEscapeSequence:!1,isGrapheme:!0,text:r,width:p};if(u&&(E.isHyperlink=!0,E.hyperlinkUrl=s),e.onSegment?.(E,i)===!1)return;r=""}if(l=!0,n=o,a=F(h,c).isInsideLinkEscape,a){let p=c+1;for(s="";p<h.length;){const k=h[p];if(k===f.S)break;s+=k,p++}s=s.slice(4);const E={hyperlinkUrl:s,isEscapeSequence:!0,isGrapheme:!1,isHyperlink:!0,isHyperlinkStart:!0,width:0};if(e.onSegment?.(E,i)===!1)return;c=p,u=!0,l=!1,a=!1,n="";continue}if(c+1<h.length&&h[c+1]==="\\"&&u){const p={isEscapeSequence:!0,isGrapheme:!1,isHyperlink:!0,isHyperlinkEnd:!0,width:0};if(e.onSegment?.(p,i)===!1)return;u=!1,s="",c++,l=!1,n="";continue}}if(l){if(n!==o&&(n+=o),o===f.Q){l=!1,i.processEscape(n);const p={isEscapeSequence:!0,isGrapheme:!1,text:n,width:0};if(e.onSegment?.(p,i)===!1)return;n=""}continue}r+=o;const g=e.getWidth?.(r)??0,d={isEscapeSequence:!1,isGrapheme:!0,text:r,width:g};if(u&&(d.isHyperlink=!0,d.hyperlinkUrl=s),e.onSegment?.(d,i)===!1)return;r=""}if(r){const c=e.getWidth?.(r)??0,o={isEscapeSequence:!1,isGrapheme:!0,text:r,width:c};u&&(o.isHyperlink=!0,o.hyperlinkUrl=s),e.onSegment?.(o,i)}if(n){const c={isEscapeSequence:!0,isGrapheme:!1,text:n,width:0};e.onSegment?.(c,i)}},"processAnsiString");var H=Object.defineProperty,j=m((t,e)=>H(t,"name",{value:e,configurable:!0}),"t$1");const b=j(t=>`${f.O.values().next().value}${f.T}${t}${f.Q}`,"wrapAnsiCode");var I=Object.defineProperty,P=m((t,e)=>I(t,"name",{value:e,configurable:!0}),"t");const W=P(t=>`${f.O.values().next().value}${f.P}${t}${f.S}`,"wrapAnsiHyperlink");var q=Object.defineProperty,D=m((t,e)=>q(t,"name",{value:e,configurable:!0}),"l");const G=D(t=>{if(t.length===0)return"";if(t.length===1)return t[0];let e="",i,r;const l=t.join(`
|
|
2
|
+
`),a=[...l];let n=0;for(const[s,u]of a.entries()){if(e+=u,f.O.has(u)){const c=f.U.exec(l.slice(n))?.groups??{};if(c.code!==void 0){const o=Number.parseFloat(c.code);i=o===f.W?void 0:o}else c.uri!==void 0&&(r=c.uri.length===0?void 0:c.uri)}const h=f.V.get(Number(i));a[s+1]===`
|
|
3
|
+
`?(r&&(e+=W("")),i&&h&&(e+=b(h))):u===`
|
|
4
|
+
`&&(i&&h&&(e+=b(i)),r&&(e+=W(r))),n+=u.length}return e},"preserveAnsi");var K=Object.defineProperty,v=m((t,e)=>K(t,"name",{value:e,configurable:!0}),"h");const x=v(t=>{if(!t.includes("\x1B"))return t;let e=t;return t.includes("\x1B[30m")&&(e+="\x1B[39m"),t.includes("\x1B[42m")&&(e+="\x1B[49m"),e},"resetAnsiAtLineBreak"),A=v(t=>{const e=t.split(" ");let i=e.length;for(;i>0&&S.getStringWidth(e[i-1])===0;)i--;return i===e.length?t:e.slice(0,i).join(" ")+e.slice(i).join("")},"stringVisibleTrimSpacesRight"),y=v((t,e,i)=>{if(t.length===0)return[""];if(e<=0)return[t];const r=[],l=new R;let a="",n=0,s=!1,u=!1,h="";for(let c=0;c<t.length;c++){const o=t[c];if(f.O.has(o)){s=!0,h=o,a+=o,u=F([...t],c).isInsideLinkEscape;continue}if(s){h+=o,a+=o,u?o===f.S&&(s=u=!1):o===f.Q&&(s=!1,l.processEscape(h));continue}const g=S.getStringWidth(o),d=o===" ";if(g===0){a+=o;continue}if(n+g>e&&(a&&r.push(a+l.getEndEscapesForAllActiveAttributes()),a=l.getStartEscapesForAllActiveAttributes(),n=S.getStringWidth(a),d&&i)){for(;c<t.length&&t[c]===" "&&(c++,!(c>=t.length)););c<t.length&&c--;continue}if(a+=o,n+=g,n===e&&c<t.length-1&&(r.push(a+l.getEndEscapesForAllActiveAttributes()),a=l.getStartEscapesForAllActiveAttributes(),n=S.getStringWidth(a),c+1<t.length&&t[c+1]===" "&&i)){for(c++;c<t.length&&t[c]===" ";)c++;c--}}return a&&r.push(a+l.getEndEscapesForAllActiveAttributes()),i?r.map(c=>A(c)):r},"wrapWithBreakAtWidth"),L=v((t,e,i)=>{if(t.length===0)return[];const r=i?t.trim():t;if(r.length===0)return[];const l=[];let a="",n=0;return C(r,{getWidth:S.getStringWidth,onSegment:v((s,u)=>{if(s.isEscapeSequence)a+=s.text;else{const h=s.text===" ";if(s.width===0)return a+=s.text,!0;if(n+s.width>e&&(a&&l.push(a),a=u.getStartEscapesForAllActiveAttributes(),n=0,h))return i||l.push(u.getStartEscapesForAllActiveAttributes()+s.text),!0;a+=s.text,n+=s.width}return!0},"onSegment")}),a&&l.push(a),i?l.map(s=>A(s)):l},"wrapCharByChar"),M=v((t,e,i)=>{if(t.length===0)return[];const r=i?t.trim():t;if(r.length===0)return[];const l=r.split(/(?=\s)|(?<=\s)/),a=[];let n="",s=0,u=0;for(;u<l.length;){const h=l[u],c=/^\s+$/.test(h),o=S.getStringWidth(h);if(h.length===0){u++;continue}if(i&&c&&s===0){u++;continue}if(s+o>e&&s>0){i?a.push(A(n)):a.push(n),n="",s=0;continue}n+=h,s+=o,u++}return n&&(i?a.push(A(n)):a.push(n)),a},"wrapWithWordBoundaries"),U=v((t,e,i)=>{if(t.length===0)return[];const r=i?t.trim():t;if(r.length===0)return[];const l=r.split(/(?=\s)|(?<=\s)/),a=[];let n="",s=0,u=0;for(;u<l.length;){const h=l[u],c=/^\s+$/.test(h),o=S.getStringWidth(h);if(h.length===0){u++;continue}if(i&&c&&s===0){u++;continue}if(o>e){n&&a.push(x(i?A(n):n));const g=y(h,e,i);if(g.length>0){for(let d=0;d<g.length-1;d++)a.push(g[d]);n=g[g.length-1],s=S.getStringWidth(n)}else n="",s=0;u++;continue}if(s+o>e&&s>0&&(a.push(x(i?A(n):n)),n="",s=0,i&&c)){u++;continue}n+=h,s+=o,u++}return n&&a.push(x(i?A(n):n)),a},"wrapAndBreakWords"),B={BREAK_AT_CHARACTERS:"BREAK_AT_CHARACTERS",PRESERVE_WORDS:"PRESERVE_WORDS",STRICT_WIDTH:"STRICT_WIDTH",BREAK_WORDS:"BREAK_WORDS"},V=v((t,e={})=>{const{removeZeroWidthCharacters:i=!0,trim:r=!0,width:l=80,wrapMode:a=B.PRESERVE_WORDS}=e;if(r&&t.trim()==="")return"";let n=String(t).normalize("NFC").replaceAll(`\r
|
|
5
|
+
`,`
|
|
6
|
+
`);return i&&(n=n.replaceAll(f.X,"")),n.split(`
|
|
7
|
+
`).map(s=>{if(r&&s.trim()==="")return"";let u;switch(a){case B.STRICT_WIDTH:{u=y(s,l,r);break}case B.BREAK_AT_CHARACTERS:{u=L(s,l,r);break}case B.BREAK_WORDS:{u=U(s,l,r);break}default:u=M(s,l,r)}return G(u)}).join(`
|
|
8
|
+
`)},"wordWrap");exports.WrapMode=B;exports.wordWrap=V;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
declare const WrapMode: {
|
|
2
|
+
readonly BREAK_AT_CHARACTERS: "BREAK_AT_CHARACTERS";
|
|
3
|
+
readonly PRESERVE_WORDS: "PRESERVE_WORDS";
|
|
4
|
+
readonly STRICT_WIDTH: "STRICT_WIDTH";
|
|
5
|
+
readonly BREAK_WORDS: "BREAK_WORDS";
|
|
6
|
+
};
|
|
7
|
+
interface WordWrapOptions {
|
|
8
|
+
removeZeroWidthCharacters?: boolean;
|
|
9
|
+
trim?: boolean;
|
|
10
|
+
width?: number;
|
|
11
|
+
wrapMode?: keyof typeof WrapMode;
|
|
12
|
+
}
|
|
13
|
+
declare const wordWrap: (string: string, options?: WordWrapOptions) => string;
|
|
14
|
+
|
|
15
|
+
export { WrapMode, wordWrap };
|
|
16
|
+
export type { WordWrapOptions };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
declare const WrapMode: {
|
|
2
|
+
readonly BREAK_AT_CHARACTERS: "BREAK_AT_CHARACTERS";
|
|
3
|
+
readonly PRESERVE_WORDS: "PRESERVE_WORDS";
|
|
4
|
+
readonly STRICT_WIDTH: "STRICT_WIDTH";
|
|
5
|
+
readonly BREAK_WORDS: "BREAK_WORDS";
|
|
6
|
+
};
|
|
7
|
+
interface WordWrapOptions {
|
|
8
|
+
removeZeroWidthCharacters?: boolean;
|
|
9
|
+
trim?: boolean;
|
|
10
|
+
width?: number;
|
|
11
|
+
wrapMode?: keyof typeof WrapMode;
|
|
12
|
+
}
|
|
13
|
+
declare const wordWrap: (string: string, options?: WordWrapOptions) => string;
|
|
14
|
+
|
|
15
|
+
export { WrapMode, wordWrap };
|
|
16
|
+
export type { WordWrapOptions };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
declare const WrapMode: {
|
|
2
|
+
readonly BREAK_AT_CHARACTERS: "BREAK_AT_CHARACTERS";
|
|
3
|
+
readonly PRESERVE_WORDS: "PRESERVE_WORDS";
|
|
4
|
+
readonly STRICT_WIDTH: "STRICT_WIDTH";
|
|
5
|
+
readonly BREAK_WORDS: "BREAK_WORDS";
|
|
6
|
+
};
|
|
7
|
+
interface WordWrapOptions {
|
|
8
|
+
removeZeroWidthCharacters?: boolean;
|
|
9
|
+
trim?: boolean;
|
|
10
|
+
width?: number;
|
|
11
|
+
wrapMode?: keyof typeof WrapMode;
|
|
12
|
+
}
|
|
13
|
+
declare const wordWrap: (string: string, options?: WordWrapOptions) => string;
|
|
14
|
+
|
|
15
|
+
export { WrapMode, wordWrap };
|
|
16
|
+
export type { WordWrapOptions };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
var y=Object.defineProperty;var m=(t,e)=>y(t,"name",{value:e,configurable:!0});import{O as S,P as R,Q as k,S as b,T as O,U as H,V as $,W as P,X as j}from"./packem_shared/constants-Cd17VNEv.mjs";import{getStringWidth as d}from"./get-string-width.mjs";var D=Object.defineProperty,N=m((t,e)=>D(t,"name",{value:e,configurable:!0}),"n");let w=class{static{m(this,"m")}static{N(this,"AnsiStateTracker")}activeForeground=null;activeBackground=null;activeFormatting=[];processEscape(e){const i=/\x1B\[(\d+)m/.exec(e);if(!i)return;const r=Number.parseInt(i[1],10);switch(r){case 0:{this.activeForeground=null,this.activeBackground=null,this.activeFormatting=[];break}case 39:{this.activeForeground=null;break}case 49:{this.activeBackground=null;break}default:if(r>=30&&r<=37||r>=90&&r<=97)this.activeForeground=e;else if(r>=40&&r<=47||r>=100&&r<=107)this.activeBackground=e;else if([1,2,3,4,7,8,9].includes(r))this.activeFormatting.push(e);else if([22,23,24,27,28,29].includes(r)){const l={22:"[1m",23:"[3m",24:"[4m",27:"[7m",28:"[8m",29:"[9m"}[r];l&&(this.activeFormatting=this.activeFormatting.filter(a=>!a.includes(l)))}}}getStartEscapesForAllActiveAttributes(){return[this.activeBackground,this.activeForeground,...this.activeFormatting].filter(Boolean).join("")}getEndEscapesForAllActiveAttributes(){const e=[];if(this.activeFormatting.length>0){const i={"\x1B[1m":"\x1B[22m","\x1B[2m":"\x1B[22m","\x1B[3m":"\x1B[23m","\x1B[4m":"\x1B[24m","\x1B[7m":"\x1B[27m","\x1B[8m":"\x1B[28m","\x1B[9m":"\x1B[29m"};[...this.activeFormatting].reverse().forEach(r=>{const l=i[r];l&&e.push(l)})}return this.activeForeground&&e.push("\x1B[39m"),this.activeBackground&&e.push("\x1B[49m"),e.join("")}};var q=Object.defineProperty,T=m((t,e)=>q(t,"name",{value:e,configurable:!0}),"o");const I=T((t,e)=>{if(!S.has(t[e]))return{isInsideEscape:!1,isInsideLinkEscape:!1};const i=!0,r=t.slice(e+1,e+1+R.length).join("")===R;return{isInsideEscape:i,isInsideLinkEscape:r}},"checkEscapeSequence"),G=T((t,e={})=>{const i=new w;let r="",l=!1,a=!1,n="",s="",u=!1;const h=[...t];for(let c=0;c<h.length;c++){const o=h[c];if(o&&S.has(o)){if(r){const p=e.getWidth?.(r)??0,v={isEscapeSequence:!1,isGrapheme:!0,text:r,width:p};if(u&&(v.isHyperlink=!0,v.hyperlinkUrl=s),e.onSegment?.(v,i)===!1)return;r=""}if(l=!0,n=o,a=I(h,c).isInsideLinkEscape,a){let p=c+1;for(s="";p<h.length;){const _=h[p];if(_===b)break;s+=_,p++}s=s.slice(4);const v={hyperlinkUrl:s,isEscapeSequence:!0,isGrapheme:!1,isHyperlink:!0,isHyperlinkStart:!0,width:0};if(e.onSegment?.(v,i)===!1)return;c=p,u=!0,l=!1,a=!1,n="";continue}if(c+1<h.length&&h[c+1]==="\\"&&u){const p={isEscapeSequence:!0,isGrapheme:!1,isHyperlink:!0,isHyperlinkEnd:!0,width:0};if(e.onSegment?.(p,i)===!1)return;u=!1,s="",c++,l=!1,n="";continue}}if(l){if(n!==o&&(n+=o),o===k){l=!1,i.processEscape(n);const p={isEscapeSequence:!0,isGrapheme:!1,text:n,width:0};if(e.onSegment?.(p,i)===!1)return;n=""}continue}r+=o;const f=e.getWidth?.(r)??0,g={isEscapeSequence:!1,isGrapheme:!0,text:r,width:f};if(u&&(g.isHyperlink=!0,g.hyperlinkUrl=s),e.onSegment?.(g,i)===!1)return;r=""}if(r){const c=e.getWidth?.(r)??0,o={isEscapeSequence:!1,isGrapheme:!0,text:r,width:c};u&&(o.isHyperlink=!0,o.hyperlinkUrl=s),e.onSegment?.(o,i)}if(n){const c={isEscapeSequence:!0,isGrapheme:!1,text:n,width:0};e.onSegment?.(c,i)}},"processAnsiString");var L=Object.defineProperty,K=m((t,e)=>L(t,"name",{value:e,configurable:!0}),"t$1");const F=K(t=>`${S.values().next().value}${O}${t}${k}`,"wrapAnsiCode");var U=Object.defineProperty,V=m((t,e)=>U(t,"name",{value:e,configurable:!0}),"t");const W=V(t=>`${S.values().next().value}${R}${t}${b}`,"wrapAnsiHyperlink");var M=Object.defineProperty,Z=m((t,e)=>M(t,"name",{value:e,configurable:!0}),"l");const z=Z(t=>{if(t.length===0)return"";if(t.length===1)return t[0];let e="",i,r;const l=t.join(`
|
|
2
|
+
`),a=[...l];let n=0;for(const[s,u]of a.entries()){if(e+=u,S.has(u)){const c=H.exec(l.slice(n))?.groups??{};if(c.code!==void 0){const o=Number.parseFloat(c.code);i=o===P?void 0:o}else c.uri!==void 0&&(r=c.uri.length===0?void 0:c.uri)}const h=$.get(Number(i));a[s+1]===`
|
|
3
|
+
`?(r&&(e+=W("")),i&&h&&(e+=F(h))):u===`
|
|
4
|
+
`&&(i&&h&&(e+=F(i)),r&&(e+=W(r))),n+=u.length}return e},"preserveAnsi");var Q=Object.defineProperty,E=m((t,e)=>Q(t,"name",{value:e,configurable:!0}),"h");const x=E(t=>{if(!t.includes("\x1B"))return t;let e=t;return t.includes("\x1B[30m")&&(e+="\x1B[39m"),t.includes("\x1B[42m")&&(e+="\x1B[49m"),e},"resetAnsiAtLineBreak"),A=E(t=>{const e=t.split(" ");let i=e.length;for(;i>0&&d(e[i-1])===0;)i--;return i===e.length?t:e.slice(0,i).join(" ")+e.slice(i).join("")},"stringVisibleTrimSpacesRight"),C=E((t,e,i)=>{if(t.length===0)return[""];if(e<=0)return[t];const r=[],l=new w;let a="",n=0,s=!1,u=!1,h="";for(let c=0;c<t.length;c++){const o=t[c];if(S.has(o)){s=!0,h=o,a+=o,u=I([...t],c).isInsideLinkEscape;continue}if(s){h+=o,a+=o,u?o===b&&(s=u=!1):o===k&&(s=!1,l.processEscape(h));continue}const f=d(o),g=o===" ";if(f===0){a+=o;continue}if(n+f>e&&(a&&r.push(a+l.getEndEscapesForAllActiveAttributes()),a=l.getStartEscapesForAllActiveAttributes(),n=d(a),g&&i)){for(;c<t.length&&t[c]===" "&&(c++,!(c>=t.length)););c<t.length&&c--;continue}if(a+=o,n+=f,n===e&&c<t.length-1&&(r.push(a+l.getEndEscapesForAllActiveAttributes()),a=l.getStartEscapesForAllActiveAttributes(),n=d(a),c+1<t.length&&t[c+1]===" "&&i)){for(c++;c<t.length&&t[c]===" ";)c++;c--}}return a&&r.push(a+l.getEndEscapesForAllActiveAttributes()),i?r.map(c=>A(c)):r},"wrapWithBreakAtWidth"),X=E((t,e,i)=>{if(t.length===0)return[];const r=i?t.trim():t;if(r.length===0)return[];const l=[];let a="",n=0;return G(r,{getWidth:d,onSegment:E((s,u)=>{if(s.isEscapeSequence)a+=s.text;else{const h=s.text===" ";if(s.width===0)return a+=s.text,!0;if(n+s.width>e&&(a&&l.push(a),a=u.getStartEscapesForAllActiveAttributes(),n=0,h))return i||l.push(u.getStartEscapesForAllActiveAttributes()+s.text),!0;a+=s.text,n+=s.width}return!0},"onSegment")}),a&&l.push(a),i?l.map(s=>A(s)):l},"wrapCharByChar"),J=E((t,e,i)=>{if(t.length===0)return[];const r=i?t.trim():t;if(r.length===0)return[];const l=r.split(/(?=\s)|(?<=\s)/),a=[];let n="",s=0,u=0;for(;u<l.length;){const h=l[u],c=/^\s+$/.test(h),o=d(h);if(h.length===0){u++;continue}if(i&&c&&s===0){u++;continue}if(s+o>e&&s>0){i?a.push(A(n)):a.push(n),n="",s=0;continue}n+=h,s+=o,u++}return n&&(i?a.push(A(n)):a.push(n)),a},"wrapWithWordBoundaries"),Y=E((t,e,i)=>{if(t.length===0)return[];const r=i?t.trim():t;if(r.length===0)return[];const l=r.split(/(?=\s)|(?<=\s)/),a=[];let n="",s=0,u=0;for(;u<l.length;){const h=l[u],c=/^\s+$/.test(h),o=d(h);if(h.length===0){u++;continue}if(i&&c&&s===0){u++;continue}if(o>e){n&&a.push(x(i?A(n):n));const f=C(h,e,i);if(f.length>0){for(let g=0;g<f.length-1;g++)a.push(f[g]);n=f[f.length-1],s=d(n)}else n="",s=0;u++;continue}if(s+o>e&&s>0&&(a.push(x(i?A(n):n)),n="",s=0,i&&c)){u++;continue}n+=h,s+=o,u++}return n&&a.push(x(i?A(n):n)),a},"wrapAndBreakWords"),B={BREAK_AT_CHARACTERS:"BREAK_AT_CHARACTERS",PRESERVE_WORDS:"PRESERVE_WORDS",STRICT_WIDTH:"STRICT_WIDTH",BREAK_WORDS:"BREAK_WORDS"},ne=E((t,e={})=>{const{removeZeroWidthCharacters:i=!0,trim:r=!0,width:l=80,wrapMode:a=B.PRESERVE_WORDS}=e;if(r&&t.trim()==="")return"";let n=String(t).normalize("NFC").replaceAll(`\r
|
|
5
|
+
`,`
|
|
6
|
+
`);return i&&(n=n.replaceAll(j,"")),n.split(`
|
|
7
|
+
`).map(s=>{if(r&&s.trim()==="")return"";let u;switch(a){case B.STRICT_WIDTH:{u=C(s,l,r);break}case B.BREAK_AT_CHARACTERS:{u=X(s,l,r);break}case B.BREAK_WORDS:{u=Y(s,l,r);break}default:u=J(s,l,r)}return z(u)}).join(`
|
|
8
|
+
`)},"wordWrap");export{B as WrapMode,ne as wordWrap};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@visulima/string",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.1",
|
|
4
4
|
"description": "Functions for manipulating strings.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"visulima",
|
|
@@ -215,6 +215,26 @@
|
|
|
215
215
|
"default": "./dist/case/pascal-case.mjs"
|
|
216
216
|
}
|
|
217
217
|
},
|
|
218
|
+
"./align-text": {
|
|
219
|
+
"require": {
|
|
220
|
+
"types": "./dist/align-text.d.cts",
|
|
221
|
+
"default": "./dist/align-text.cjs"
|
|
222
|
+
},
|
|
223
|
+
"import": {
|
|
224
|
+
"types": "./dist/align-text.d.mts",
|
|
225
|
+
"default": "./dist/align-text.mjs"
|
|
226
|
+
}
|
|
227
|
+
},
|
|
228
|
+
"./word-wrap": {
|
|
229
|
+
"require": {
|
|
230
|
+
"types": "./dist/word-wrap.d.cts",
|
|
231
|
+
"default": "./dist/word-wrap.cjs"
|
|
232
|
+
},
|
|
233
|
+
"import": {
|
|
234
|
+
"types": "./dist/word-wrap.d.mts",
|
|
235
|
+
"default": "./dist/word-wrap.mjs"
|
|
236
|
+
}
|
|
237
|
+
},
|
|
218
238
|
"./slice": {
|
|
219
239
|
"require": {
|
|
220
240
|
"types": "./dist/slice.d.cts",
|
|
@@ -425,6 +445,12 @@
|
|
|
425
445
|
"case/pascal-case": [
|
|
426
446
|
"./dist/case/pascal-case.d.ts"
|
|
427
447
|
],
|
|
448
|
+
"align-text": [
|
|
449
|
+
"./dist/align-text.d.ts"
|
|
450
|
+
],
|
|
451
|
+
"word-wrap": [
|
|
452
|
+
"./dist/word-wrap.d.ts"
|
|
453
|
+
],
|
|
428
454
|
"slice": [
|
|
429
455
|
"./dist/slice.d.ts"
|
|
430
456
|
],
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
var y=Object.defineProperty;var m=(t,e)=>y(t,"name",{value:e,configurable:!0});import{O as S,P as R,Q as k,S as b,T as O,U as H,V as $,W as P,X as N}from"./constants-Cd17VNEv.mjs";import{getStringWidth as d}from"../get-string-width.mjs";var j=Object.defineProperty,D=m((t,e)=>j(t,"name",{value:e,configurable:!0}),"n");let w=class{static{m(this,"m")}static{D(this,"AnsiStateTracker")}activeForeground=null;activeBackground=null;activeFormatting=[];processEscape(e){const n=/\x1B\[(\d+)m/.exec(e);if(!n)return;const r=Number.parseInt(n[1],10);switch(r){case 0:{this.activeForeground=null,this.activeBackground=null,this.activeFormatting=[];break}case 39:{this.activeForeground=null;break}case 49:{this.activeBackground=null;break}default:if(r>=30&&r<=37||r>=90&&r<=97)this.activeForeground=e;else if(r>=40&&r<=47||r>=100&&r<=107)this.activeBackground=e;else if([1,2,3,4,7,8,9].includes(r))this.activeFormatting.push(e);else if([22,23,24,27,28,29].includes(r)){const l={22:"[1m",23:"[3m",24:"[4m",27:"[7m",28:"[8m",29:"[9m"}[r];l&&(this.activeFormatting=this.activeFormatting.filter(a=>!a.includes(l)))}}}getStartEscapesForAllActiveAttributes(){return[this.activeBackground,this.activeForeground,...this.activeFormatting].filter(Boolean).join("")}getEndEscapesForAllActiveAttributes(){const e=[];if(this.activeFormatting.length>0){const n={"\x1B[1m":"\x1B[22m","\x1B[2m":"\x1B[22m","\x1B[3m":"\x1B[23m","\x1B[4m":"\x1B[24m","\x1B[7m":"\x1B[27m","\x1B[8m":"\x1B[28m","\x1B[9m":"\x1B[29m"};[...this.activeFormatting].reverse().forEach(r=>{const l=n[r];l&&e.push(l)})}return this.activeForeground&&e.push("\x1B[39m"),this.activeBackground&&e.push("\x1B[49m"),e.join("")}};var q=Object.defineProperty,T=m((t,e)=>q(t,"name",{value:e,configurable:!0}),"o");const I=T((t,e)=>{if(!S.has(t[e]))return{isInsideEscape:!1,isInsideLinkEscape:!1};const n=!0,r=t.slice(e+1,e+1+R.length).join("")===R;return{isInsideEscape:n,isInsideLinkEscape:r}},"checkEscapeSequence"),G=T((t,e={})=>{const n=new w;let r="",l=!1,a=!1,i="",s="",u=!1;const h=[...t];for(let c=0;c<h.length;c++){const o=h[c];if(o&&S.has(o)){if(r){const p=e.getWidth?.(r)??0,v={isEscapeSequence:!1,isGrapheme:!0,text:r,width:p};if(u&&(v.isHyperlink=!0,v.hyperlinkUrl=s),e.onSegment?.(v,n)===!1)return;r=""}if(l=!0,i=o,a=I(h,c).isInsideLinkEscape,a){let p=c+1;for(s="";p<h.length;){const _=h[p];if(_===b)break;s+=_,p++}s=s.slice(4);const v={hyperlinkUrl:s,isEscapeSequence:!0,isGrapheme:!1,isHyperlink:!0,isHyperlinkStart:!0,width:0};if(e.onSegment?.(v,n)===!1)return;c=p,u=!0,l=!1,a=!1,i="";continue}if(c+1<h.length&&h[c+1]==="\\"&&u){const p={isEscapeSequence:!0,isGrapheme:!1,isHyperlink:!0,isHyperlinkEnd:!0,width:0};if(e.onSegment?.(p,n)===!1)return;u=!1,s="",c++,l=!1,i="";continue}}if(l){if(i!==o&&(i+=o),o===k){l=!1,n.processEscape(i);const p={isEscapeSequence:!0,isGrapheme:!1,text:i,width:0};if(e.onSegment?.(p,n)===!1)return;i=""}continue}r+=o;const f=e.getWidth?.(r)??0,g={isEscapeSequence:!1,isGrapheme:!0,text:r,width:f};if(u&&(g.isHyperlink=!0,g.hyperlinkUrl=s),e.onSegment?.(g,n)===!1)return;r=""}if(r){const c=e.getWidth?.(r)??0,o={isEscapeSequence:!1,isGrapheme:!0,text:r,width:c};u&&(o.isHyperlink=!0,o.hyperlinkUrl=s),e.onSegment?.(o,n)}if(i){const c={isEscapeSequence:!0,isGrapheme:!1,text:i,width:0};e.onSegment?.(c,n)}},"processAnsiString");var L=Object.defineProperty,K=m((t,e)=>L(t,"name",{value:e,configurable:!0}),"t$1");const F=K(t=>`${S.values().next().value}${O}${t}${k}`,"wrapAnsiCode");var U=Object.defineProperty,V=m((t,e)=>U(t,"name",{value:e,configurable:!0}),"t");const W=V(t=>`${S.values().next().value}${R}${t}${b}`,"wrapAnsiHyperlink");var M=Object.defineProperty,Z=m((t,e)=>M(t,"name",{value:e,configurable:!0}),"l");const z=Z(t=>{if(t.length===0)return"";if(t.length===1)return t[0];let e="",n,r;const l=t.join(`
|
|
2
|
-
`),a=[...l];let i=0;for(const[s,u]of a.entries()){if(e+=u,S.has(u)){const c=H.exec(l.slice(i))?.groups??{};if(c.code!==void 0){const o=Number.parseFloat(c.code);n=o===P?void 0:o}else c.uri!==void 0&&(r=c.uri.length===0?void 0:c.uri)}const h=$.get(Number(n));a[s+1]===`
|
|
3
|
-
`?(r&&(e+=W("")),n&&h&&(e+=F(h))):u===`
|
|
4
|
-
`&&(n&&h&&(e+=F(n)),r&&(e+=W(r))),i+=u.length}return e},"preserveAnsi");var J=Object.defineProperty,E=m((t,e)=>J(t,"name",{value:e,configurable:!0}),"h");const x=E(t=>{if(!t.includes("\x1B"))return t;let e=t;return t.includes("\x1B[30m")&&(e+="\x1B[39m"),t.includes("\x1B[42m")&&(e+="\x1B[49m"),e},"resetAnsiAtLineBreak"),A=E(t=>{const e=t.split(" ");let n=e.length;for(;n>0&&d(e[n-1])===0;)n--;return n===e.length?t:e.slice(0,n).join(" ")+e.slice(n).join("")},"stringVisibleTrimSpacesRight"),C=E((t,e,n)=>{if(t.length===0)return[""];if(e<=0)return[t];const r=[],l=new w;let a="",i=0,s=!1,u=!1,h="";for(let c=0;c<t.length;c++){const o=t[c];if(S.has(o)){s=!0,h=o,a+=o,u=I([...t],c).isInsideLinkEscape;continue}if(s){h+=o,a+=o,u?o===b&&(s=u=!1):o===k&&(s=!1,l.processEscape(h));continue}const f=d(o),g=o===" ";if(f===0){a+=o;continue}if(i+f>e&&(a&&r.push(a+l.getEndEscapesForAllActiveAttributes()),a=l.getStartEscapesForAllActiveAttributes(),i=d(a),g&&n)){for(;c<t.length&&t[c]===" "&&(c++,!(c>=t.length)););c<t.length&&c--;continue}if(a+=o,i+=f,i===e&&c<t.length-1&&(r.push(a+l.getEndEscapesForAllActiveAttributes()),a=l.getStartEscapesForAllActiveAttributes(),i=d(a),c+1<t.length&&t[c+1]===" "&&n)){for(c++;c<t.length&&t[c]===" ";)c++;c--}}return a&&r.push(a+l.getEndEscapesForAllActiveAttributes()),n?r.map(c=>A(c)):r},"wrapWithBreakAtWidth"),Q=E((t,e,n)=>{if(t.length===0)return[];const r=n?t.trim():t;if(r.length===0)return[];const l=[];let a="",i=0;return G(r,{getWidth:d,onSegment:E((s,u)=>{if(s.isEscapeSequence)a+=s.text;else{const h=s.text===" ";if(s.width===0)return a+=s.text,!0;if(i+s.width>e&&(a&&l.push(a),a=u.getStartEscapesForAllActiveAttributes(),i=0,h))return n||l.push(u.getStartEscapesForAllActiveAttributes()+s.text),!0;a+=s.text,i+=s.width}return!0},"onSegment")}),a&&l.push(a),n?l.map(s=>A(s)):l},"wrapCharByChar"),X=E((t,e,n)=>{if(t.length===0)return[];const r=n?t.trim():t;if(r.length===0)return[];const l=r.split(/(?=\s)|(?<=\s)/),a=[];let i="",s=0,u=0;for(;u<l.length;){const h=l[u],c=/^\s+$/.test(h),o=d(h);if(h.length===0){u++;continue}if(n&&c&&s===0){u++;continue}if(s+o>e&&s>0){n?a.push(A(i)):a.push(i),i="",s=0;continue}i+=h,s+=o,u++}return i&&(n?a.push(A(i)):a.push(i)),a},"wrapWithWordBoundaries"),Y=E((t,e,n)=>{if(t.length===0)return[];const r=n?t.trim():t;if(r.length===0)return[];const l=r.split(/(?=\s)|(?<=\s)/),a=[];let i="",s=0,u=0;for(;u<l.length;){const h=l[u],c=/^\s+$/.test(h),o=d(h);if(h.length===0){u++;continue}if(n&&c&&s===0){u++;continue}if(o>e){i&&a.push(x(n?A(i):i));const f=C(h,e,n);if(console.log(JSON.stringify(f)),f.length>0){for(let g=0;g<f.length-1;g++)a.push(f[g]);i=f[f.length-1],s=d(i)}else i="",s=0;u++;continue}if(s+o>e&&s>0&&(a.push(x(n?A(i):i)),i="",s=0,n&&c)){u++;continue}i+=h,s+=o,u++}return i&&a.push(x(n?A(i):i)),a},"wrapAndBreakWords"),B={BREAK_AT_CHARACTERS:"BREAK_AT_CHARACTERS",PRESERVE_WORDS:"PRESERVE_WORDS",STRICT_WIDTH:"STRICT_WIDTH",BREAK_WORDS:"BREAK_WORDS"},ie=E((t,e={})=>{const{removeZeroWidthCharacters:n=!0,trim:r=!0,width:l=80,wrapMode:a=B.PRESERVE_WORDS}=e;if(r&&t.trim()==="")return"";let i=String(t).normalize("NFC").replaceAll(`\r
|
|
5
|
-
`,`
|
|
6
|
-
`);return n&&(i=i.replaceAll(N,"")),i.split(`
|
|
7
|
-
`).map(s=>{if(r&&s.trim()==="")return"";let u;switch(a){case B.STRICT_WIDTH:{u=C(s,l,r);break}case B.BREAK_AT_CHARACTERS:{u=Q(s,l,r);break}case B.BREAK_WORDS:{u=Y(s,l,r);break}default:u=X(s,l,r)}return z(u)}).join(`
|
|
8
|
-
`)},"wordWrap");export{B as WrapMode,ie as wordWrap};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";var O=Object.defineProperty;var m=(t,e)=>O(t,"name",{value:e,configurable:!0});Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const g=require("./constants-D3K8u3G8.cjs"),S=require("../get-string-width.cjs");var T=Object.defineProperty,_=m((t,e)=>T(t,"name",{value:e,configurable:!0}),"n");let R=class{static{m(this,"m")}static{_(this,"AnsiStateTracker")}activeForeground=null;activeBackground=null;activeFormatting=[];processEscape(e){const i=/\x1B\[(\d+)m/.exec(e);if(!i)return;const r=Number.parseInt(i[1],10);switch(r){case 0:{this.activeForeground=null,this.activeBackground=null,this.activeFormatting=[];break}case 39:{this.activeForeground=null;break}case 49:{this.activeBackground=null;break}default:if(r>=30&&r<=37||r>=90&&r<=97)this.activeForeground=e;else if(r>=40&&r<=47||r>=100&&r<=107)this.activeBackground=e;else if([1,2,3,4,7,8,9].includes(r))this.activeFormatting.push(e);else if([22,23,24,27,28,29].includes(r)){const l={22:"[1m",23:"[3m",24:"[4m",27:"[7m",28:"[8m",29:"[9m"}[r];l&&(this.activeFormatting=this.activeFormatting.filter(a=>!a.includes(l)))}}}getStartEscapesForAllActiveAttributes(){return[this.activeBackground,this.activeForeground,...this.activeFormatting].filter(Boolean).join("")}getEndEscapesForAllActiveAttributes(){const e=[];if(this.activeFormatting.length>0){const i={"\x1B[1m":"\x1B[22m","\x1B[2m":"\x1B[22m","\x1B[3m":"\x1B[23m","\x1B[4m":"\x1B[24m","\x1B[7m":"\x1B[27m","\x1B[8m":"\x1B[28m","\x1B[9m":"\x1B[29m"};[...this.activeFormatting].reverse().forEach(r=>{const l=i[r];l&&e.push(l)})}return this.activeForeground&&e.push("\x1B[39m"),this.activeBackground&&e.push("\x1B[49m"),e.join("")}};var $=Object.defineProperty,w=m((t,e)=>$(t,"name",{value:e,configurable:!0}),"o");const F=w((t,e)=>{if(!g.O.has(t[e]))return{isInsideEscape:!1,isInsideLinkEscape:!1};const i=!0,r=t.slice(e+1,e+1+g.P.length).join("")===g.P;return{isInsideEscape:i,isInsideLinkEscape:r}},"checkEscapeSequence"),C=w((t,e={})=>{const i=new R;let r="",l=!1,a=!1,n="",s="",u=!1;const h=[...t];for(let c=0;c<h.length;c++){const o=h[c];if(o&&g.O.has(o)){if(r){const p=e.getWidth?.(r)??0,E={isEscapeSequence:!1,isGrapheme:!0,text:r,width:p};if(u&&(E.isHyperlink=!0,E.hyperlinkUrl=s),e.onSegment?.(E,i)===!1)return;r=""}if(l=!0,n=o,a=F(h,c).isInsideLinkEscape,a){let p=c+1;for(s="";p<h.length;){const k=h[p];if(k===g.S)break;s+=k,p++}s=s.slice(4);const E={hyperlinkUrl:s,isEscapeSequence:!0,isGrapheme:!1,isHyperlink:!0,isHyperlinkStart:!0,width:0};if(e.onSegment?.(E,i)===!1)return;c=p,u=!0,l=!1,a=!1,n="";continue}if(c+1<h.length&&h[c+1]==="\\"&&u){const p={isEscapeSequence:!0,isGrapheme:!1,isHyperlink:!0,isHyperlinkEnd:!0,width:0};if(e.onSegment?.(p,i)===!1)return;u=!1,s="",c++,l=!1,n="";continue}}if(l){if(n!==o&&(n+=o),o===g.Q){l=!1,i.processEscape(n);const p={isEscapeSequence:!0,isGrapheme:!1,text:n,width:0};if(e.onSegment?.(p,i)===!1)return;n=""}continue}r+=o;const f=e.getWidth?.(r)??0,d={isEscapeSequence:!1,isGrapheme:!0,text:r,width:f};if(u&&(d.isHyperlink=!0,d.hyperlinkUrl=s),e.onSegment?.(d,i)===!1)return;r=""}if(r){const c=e.getWidth?.(r)??0,o={isEscapeSequence:!1,isGrapheme:!0,text:r,width:c};u&&(o.isHyperlink=!0,o.hyperlinkUrl=s),e.onSegment?.(o,i)}if(n){const c={isEscapeSequence:!0,isGrapheme:!1,text:n,width:0};e.onSegment?.(c,i)}},"processAnsiString");var H=Object.defineProperty,j=m((t,e)=>H(t,"name",{value:e,configurable:!0}),"t$1");const b=j(t=>`${g.O.values().next().value}${g.T}${t}${g.Q}`,"wrapAnsiCode");var I=Object.defineProperty,P=m((t,e)=>I(t,"name",{value:e,configurable:!0}),"t");const W=P(t=>`${g.O.values().next().value}${g.P}${t}${g.S}`,"wrapAnsiHyperlink");var q=Object.defineProperty,D=m((t,e)=>q(t,"name",{value:e,configurable:!0}),"l");const G=D(t=>{if(t.length===0)return"";if(t.length===1)return t[0];let e="",i,r;const l=t.join(`
|
|
2
|
-
`),a=[...l];let n=0;for(const[s,u]of a.entries()){if(e+=u,g.O.has(u)){const c=g.U.exec(l.slice(n))?.groups??{};if(c.code!==void 0){const o=Number.parseFloat(c.code);i=o===g.W?void 0:o}else c.uri!==void 0&&(r=c.uri.length===0?void 0:c.uri)}const h=g.V.get(Number(i));a[s+1]===`
|
|
3
|
-
`?(r&&(e+=W("")),i&&h&&(e+=b(h))):u===`
|
|
4
|
-
`&&(i&&h&&(e+=b(i)),r&&(e+=W(r))),n+=u.length}return e},"preserveAnsi");var K=Object.defineProperty,v=m((t,e)=>K(t,"name",{value:e,configurable:!0}),"h");const x=v(t=>{if(!t.includes("\x1B"))return t;let e=t;return t.includes("\x1B[30m")&&(e+="\x1B[39m"),t.includes("\x1B[42m")&&(e+="\x1B[49m"),e},"resetAnsiAtLineBreak"),A=v(t=>{const e=t.split(" ");let i=e.length;for(;i>0&&S.getStringWidth(e[i-1])===0;)i--;return i===e.length?t:e.slice(0,i).join(" ")+e.slice(i).join("")},"stringVisibleTrimSpacesRight"),y=v((t,e,i)=>{if(t.length===0)return[""];if(e<=0)return[t];const r=[],l=new R;let a="",n=0,s=!1,u=!1,h="";for(let c=0;c<t.length;c++){const o=t[c];if(g.O.has(o)){s=!0,h=o,a+=o,u=F([...t],c).isInsideLinkEscape;continue}if(s){h+=o,a+=o,u?o===g.S&&(s=u=!1):o===g.Q&&(s=!1,l.processEscape(h));continue}const f=S.getStringWidth(o),d=o===" ";if(f===0){a+=o;continue}if(n+f>e&&(a&&r.push(a+l.getEndEscapesForAllActiveAttributes()),a=l.getStartEscapesForAllActiveAttributes(),n=S.getStringWidth(a),d&&i)){for(;c<t.length&&t[c]===" "&&(c++,!(c>=t.length)););c<t.length&&c--;continue}if(a+=o,n+=f,n===e&&c<t.length-1&&(r.push(a+l.getEndEscapesForAllActiveAttributes()),a=l.getStartEscapesForAllActiveAttributes(),n=S.getStringWidth(a),c+1<t.length&&t[c+1]===" "&&i)){for(c++;c<t.length&&t[c]===" ";)c++;c--}}return a&&r.push(a+l.getEndEscapesForAllActiveAttributes()),i?r.map(c=>A(c)):r},"wrapWithBreakAtWidth"),L=v((t,e,i)=>{if(t.length===0)return[];const r=i?t.trim():t;if(r.length===0)return[];const l=[];let a="",n=0;return C(r,{getWidth:S.getStringWidth,onSegment:v((s,u)=>{if(s.isEscapeSequence)a+=s.text;else{const h=s.text===" ";if(s.width===0)return a+=s.text,!0;if(n+s.width>e&&(a&&l.push(a),a=u.getStartEscapesForAllActiveAttributes(),n=0,h))return i||l.push(u.getStartEscapesForAllActiveAttributes()+s.text),!0;a+=s.text,n+=s.width}return!0},"onSegment")}),a&&l.push(a),i?l.map(s=>A(s)):l},"wrapCharByChar"),M=v((t,e,i)=>{if(t.length===0)return[];const r=i?t.trim():t;if(r.length===0)return[];const l=r.split(/(?=\s)|(?<=\s)/),a=[];let n="",s=0,u=0;for(;u<l.length;){const h=l[u],c=/^\s+$/.test(h),o=S.getStringWidth(h);if(h.length===0){u++;continue}if(i&&c&&s===0){u++;continue}if(s+o>e&&s>0){i?a.push(A(n)):a.push(n),n="",s=0;continue}n+=h,s+=o,u++}return n&&(i?a.push(A(n)):a.push(n)),a},"wrapWithWordBoundaries"),N=v((t,e,i)=>{if(t.length===0)return[];const r=i?t.trim():t;if(r.length===0)return[];const l=r.split(/(?=\s)|(?<=\s)/),a=[];let n="",s=0,u=0;for(;u<l.length;){const h=l[u],c=/^\s+$/.test(h),o=S.getStringWidth(h);if(h.length===0){u++;continue}if(i&&c&&s===0){u++;continue}if(o>e){n&&a.push(x(i?A(n):n));const f=y(h,e,i);if(console.log(JSON.stringify(f)),f.length>0){for(let d=0;d<f.length-1;d++)a.push(f[d]);n=f[f.length-1],s=S.getStringWidth(n)}else n="",s=0;u++;continue}if(s+o>e&&s>0&&(a.push(x(i?A(n):n)),n="",s=0,i&&c)){u++;continue}n+=h,s+=o,u++}return n&&a.push(x(i?A(n):n)),a},"wrapAndBreakWords"),B={BREAK_AT_CHARACTERS:"BREAK_AT_CHARACTERS",PRESERVE_WORDS:"PRESERVE_WORDS",STRICT_WIDTH:"STRICT_WIDTH",BREAK_WORDS:"BREAK_WORDS"},U=v((t,e={})=>{const{removeZeroWidthCharacters:i=!0,trim:r=!0,width:l=80,wrapMode:a=B.PRESERVE_WORDS}=e;if(r&&t.trim()==="")return"";let n=String(t).normalize("NFC").replaceAll(`\r
|
|
5
|
-
`,`
|
|
6
|
-
`);return i&&(n=n.replaceAll(g.X,"")),n.split(`
|
|
7
|
-
`).map(s=>{if(r&&s.trim()==="")return"";let u;switch(a){case B.STRICT_WIDTH:{u=y(s,l,r);break}case B.BREAK_AT_CHARACTERS:{u=L(s,l,r);break}case B.BREAK_WORDS:{u=N(s,l,r);break}default:u=M(s,l,r)}return G(u)}).join(`
|
|
8
|
-
`)},"wordWrap");exports.WrapMode=B;exports.wordWrap=U;
|