indusagi-coding-agent 0.1.22 → 0.1.24
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 +72 -11
- package/README.md +2 -36
- package/dist/cli/args.d.ts +117 -1
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +231 -64
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/config-selector.d.ts +58 -2
- package/dist/cli/config-selector.d.ts.map +1 -1
- package/dist/cli/config-selector.js +130 -12
- package/dist/cli/config-selector.js.map +1 -1
- package/dist/cli/file-processor.d.ts +70 -2
- package/dist/cli/file-processor.d.ts.map +1 -1
- package/dist/cli/file-processor.js +240 -15
- package/dist/cli/file-processor.js.map +1 -1
- package/dist/cli/list-models.d.ts +63 -3
- package/dist/cli/list-models.d.ts.map +1 -1
- package/dist/cli/list-models.js +202 -27
- package/dist/cli/list-models.js.map +1 -1
- package/dist/cli/login-handler.d.ts +82 -8
- package/dist/cli/login-handler.d.ts.map +1 -1
- package/dist/cli/login-handler.js +410 -77
- package/dist/cli/login-handler.js.map +1 -1
- package/dist/cli/session-picker.d.ts +74 -2
- package/dist/cli/session-picker.d.ts.map +1 -1
- package/dist/cli/session-picker.js +236 -12
- package/dist/cli/session-picker.js.map +1 -1
- package/dist/core/agent-session.d.ts +214 -9
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +214 -9
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/bash-executor.d.ts +302 -12
- package/dist/core/bash-executor.d.ts.map +1 -1
- package/dist/core/bash-executor.js +302 -12
- package/dist/core/bash-executor.js.map +1 -1
- package/dist/core/diagnostics.d.ts +191 -0
- package/dist/core/diagnostics.d.ts.map +1 -1
- package/dist/core/diagnostics.js +142 -0
- package/dist/core/diagnostics.js.map +1 -1
- package/dist/core/event-bus.d.ts +146 -0
- package/dist/core/event-bus.d.ts.map +1 -1
- package/dist/core/event-bus.js +93 -0
- package/dist/core/event-bus.js.map +1 -1
- package/dist/core/export-html/ansi-to-html.d.ts +4 -0
- package/dist/core/export-html/ansi-to-html.d.ts.map +1 -1
- package/dist/core/export-html/ansi-to-html.js +4 -0
- package/dist/core/export-html/ansi-to-html.js.map +1 -1
- package/dist/core/export-html/index.d.ts +128 -0
- package/dist/core/export-html/index.d.ts.map +1 -1
- package/dist/core/export-html/index.js +128 -0
- package/dist/core/export-html/index.js.map +1 -1
- package/dist/core/export-html/tool-renderer.d.ts +4 -0
- package/dist/core/export-html/tool-renderer.d.ts.map +1 -1
- package/dist/core/export-html/tool-renderer.js +4 -0
- package/dist/core/export-html/tool-renderer.js.map +1 -1
- package/dist/core/keybindings.d.ts +142 -0
- package/dist/core/keybindings.d.ts.map +1 -1
- package/dist/core/keybindings.js +142 -0
- package/dist/core/keybindings.js.map +1 -1
- package/dist/core/model-registry.d.ts +98 -1
- package/dist/core/model-registry.d.ts.map +1 -1
- package/dist/core/model-registry.js +98 -1
- package/dist/core/model-registry.js.map +1 -1
- package/dist/core/model-resolver.d.ts +99 -1
- package/dist/core/model-resolver.d.ts.map +1 -1
- package/dist/core/model-resolver.js +99 -1
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/core/prompt-templates.js.map +1 -1
- package/dist/core/sdk.d.ts +1 -1
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +0 -2
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/session-manager.d.ts +127 -0
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +125 -0
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/skills.js.map +1 -1
- package/dist/core/subagents.js.map +1 -1
- package/dist/core/tools/bash.d.ts +391 -11
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +269 -2
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/edit.d.ts +284 -6
- package/dist/core/tools/edit.d.ts.map +1 -1
- package/dist/core/tools/edit.js +238 -0
- package/dist/core/tools/edit.js.map +1 -1
- package/dist/core/tools/find.d.ts +169 -5
- package/dist/core/tools/find.d.ts.map +1 -1
- package/dist/core/tools/find.js +136 -0
- package/dist/core/tools/find.js.map +1 -1
- package/dist/core/tools/grep.d.ts +285 -5
- package/dist/core/tools/grep.d.ts.map +1 -1
- package/dist/core/tools/grep.js +247 -0
- package/dist/core/tools/grep.js.map +1 -1
- package/dist/core/tools/index.d.ts +0 -18
- package/dist/core/tools/index.d.ts.map +1 -1
- package/dist/core/tools/index.js +1 -23
- package/dist/core/tools/index.js.map +1 -1
- package/dist/core/tools/ls.d.ts +6 -0
- package/dist/core/tools/ls.d.ts.map +1 -1
- package/dist/core/tools/ls.js +6 -0
- package/dist/core/tools/ls.js.map +1 -1
- package/dist/core/tools/read.d.ts +308 -7
- package/dist/core/tools/read.d.ts.map +1 -1
- package/dist/core/tools/read.js +231 -0
- package/dist/core/tools/read.js.map +1 -1
- package/dist/core/tools/webfetch.d.ts +118 -3
- package/dist/core/tools/webfetch.d.ts.map +1 -1
- package/dist/core/tools/webfetch.js +118 -3
- package/dist/core/tools/webfetch.js.map +1 -1
- package/dist/core/tools/websearch.d.ts +130 -3
- package/dist/core/tools/websearch.d.ts.map +1 -1
- package/dist/core/tools/websearch.js +130 -3
- package/dist/core/tools/websearch.js.map +1 -1
- package/dist/core/tools/write.d.ts +251 -5
- package/dist/core/tools/write.d.ts.map +1 -1
- package/dist/core/tools/write.js +210 -0
- package/dist/core/tools/write.js.map +1 -1
- package/dist/modes/interactive/components/assistant-message.d.ts +164 -1
- package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/assistant-message.js +164 -1
- package/dist/modes/interactive/components/assistant-message.js.map +1 -1
- package/dist/modes/interactive/components/bash-execution.d.ts +297 -1
- package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/bash-execution.js +297 -1
- package/dist/modes/interactive/components/bash-execution.js.map +1 -1
- package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/tool-execution.js +251 -1
- package/dist/modes/interactive/components/tool-execution.js.map +1 -1
- package/dist/modes/interactive/components/user-message.d.ts +186 -1
- package/dist/modes/interactive/components/user-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/user-message.js +186 -1
- package/dist/modes/interactive/components/user-message.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +1567 -13
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +1567 -13
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/theme/theme.d.ts +422 -0
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme.js +422 -0
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/dist/modes/print-mode.d.ts +538 -5
- package/dist/modes/print-mode.d.ts.map +1 -1
- package/dist/modes/print-mode.js +538 -5
- package/dist/modes/print-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-client.d.ts +921 -8
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client.js +921 -8
- package/dist/modes/rpc/rpc-client.js.map +1 -1
- package/dist/modes/rpc/rpc-mode.d.ts +802 -9
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-mode.js +802 -9
- package/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-types.d.ts +356 -3
- package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-types.js +356 -3
- package/dist/modes/rpc/rpc-types.js.map +1 -1
- package/dist/modes/shared.d.ts +386 -0
- package/dist/modes/shared.d.ts.map +1 -0
- package/dist/modes/shared.js +543 -0
- package/dist/modes/shared.js.map +1 -0
- package/dist/utils/array.d.ts +389 -0
- package/dist/utils/array.d.ts.map +1 -0
- package/dist/utils/array.js +585 -0
- package/dist/utils/array.js.map +1 -0
- package/dist/utils/color-formatter.d.ts +318 -0
- package/dist/utils/color-formatter.d.ts.map +1 -0
- package/dist/utils/color-formatter.js +442 -0
- package/dist/utils/color-formatter.js.map +1 -0
- package/dist/utils/data-transformer.d.ts +326 -0
- package/dist/utils/data-transformer.d.ts.map +1 -0
- package/dist/utils/data-transformer.js +512 -0
- package/dist/utils/data-transformer.js.map +1 -0
- package/dist/utils/date-formatter.d.ts +281 -0
- package/dist/utils/date-formatter.d.ts.map +1 -0
- package/dist/utils/date-formatter.js +503 -0
- package/dist/utils/date-formatter.js.map +1 -0
- package/dist/utils/error-handler.d.ts +541 -0
- package/dist/utils/error-handler.d.ts.map +1 -0
- package/dist/utils/error-handler.js +726 -0
- package/dist/utils/error-handler.js.map +1 -0
- package/dist/utils/file-operations.d.ts +297 -0
- package/dist/utils/file-operations.d.ts.map +1 -0
- package/dist/utils/file-operations.js +505 -0
- package/dist/utils/file-operations.js.map +1 -0
- package/dist/utils/frontmatter.d.ts +268 -6
- package/dist/utils/frontmatter.d.ts.map +1 -1
- package/dist/utils/frontmatter.js +500 -21
- package/dist/utils/frontmatter.js.map +1 -1
- package/dist/utils/json-formatter.d.ts +259 -0
- package/dist/utils/json-formatter.d.ts.map +1 -0
- package/dist/utils/json-formatter.js +517 -0
- package/dist/utils/json-formatter.js.map +1 -0
- package/dist/utils/logger.d.ts +176 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +346 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/markdown-formatter.d.ts +211 -0
- package/dist/utils/markdown-formatter.d.ts.map +1 -0
- package/dist/utils/markdown-formatter.js +482 -0
- package/dist/utils/markdown-formatter.js.map +1 -0
- package/dist/utils/path-validator.d.ts +603 -0
- package/dist/utils/path-validator.d.ts.map +1 -0
- package/dist/utils/path-validator.js +870 -0
- package/dist/utils/path-validator.js.map +1 -0
- package/dist/utils/string-formatter.d.ts +609 -0
- package/dist/utils/string-formatter.d.ts.map +1 -0
- package/dist/utils/string-formatter.js +806 -0
- package/dist/utils/string-formatter.js.map +1 -0
- package/dist/utils/type-guards.d.ts +629 -0
- package/dist/utils/type-guards.d.ts.map +1 -0
- package/dist/utils/type-guards.js +662 -0
- package/dist/utils/type-guards.js.map +1 -0
- package/docs/COMPLETE-GUIDE.md +300 -0
- package/docs/MODES-ARCHITECTURE.md +565 -0
- package/docs/PRINT-MODE-GUIDE.md +456 -0
- package/docs/README.md +1 -2
- package/docs/RPC-GUIDE.md +705 -0
- package/docs/UTILS-IMPLEMENTATION-SUMMARY.md +647 -0
- package/docs/UTILS-MODULE-OVERVIEW.md +1480 -0
- package/docs/UTILS-QA-CHECKLIST.md +1061 -0
- package/docs/UTILS-USAGE-GUIDE.md +1419 -0
- package/package.json +3 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path-validator.js","sourceRoot":"","sources":["../../src/utils/path-validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,609 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview String Formatter Utilities
|
|
3
|
+
*
|
|
4
|
+
* Comprehensive string manipulation and formatting utilities for text transformation,
|
|
5
|
+
* case conversion, truncation, padding, and other common string operations.
|
|
6
|
+
*
|
|
7
|
+
* This module provides type-safe, well-tested functions for:
|
|
8
|
+
* - Case conversion (camelCase, snake_case, kebab-case, Title Case)
|
|
9
|
+
* - String truncation and padding
|
|
10
|
+
* - Character manipulation (reverse, capitalize, decapitalize)
|
|
11
|
+
* - String searching and matching
|
|
12
|
+
* - String interpolation patterns
|
|
13
|
+
* - Multi-line text handling
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* // Case conversion
|
|
17
|
+
* toTitleCase('hello world') // "Hello World"
|
|
18
|
+
* toCamelCase('hello-world') // "helloWorld"
|
|
19
|
+
* toSnakeCase('helloWorld') // "hello_world"
|
|
20
|
+
* toKebabCase('HelloWorld') // "hello-world"
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* // String manipulation
|
|
24
|
+
* truncate('hello world', 8) // "hello..."
|
|
25
|
+
* capitalize('hello') // "Hello"
|
|
26
|
+
* reverse('hello') // "olleh"
|
|
27
|
+
* repeat('ab', 3) // "ababab"
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* // Padding and spacing
|
|
31
|
+
* padStart('5', 3, '0') // "005"
|
|
32
|
+
* padEnd('5', 3, '0') // "500"
|
|
33
|
+
* repeat(' ', 4) // " "
|
|
34
|
+
*/
|
|
35
|
+
/**
|
|
36
|
+
* Converts a string to Title Case (each word capitalized)
|
|
37
|
+
*
|
|
38
|
+
* Splits on spaces, hyphens, underscores, and camelCase boundaries.
|
|
39
|
+
* Properly handles multiple delimiters and preserves word order.
|
|
40
|
+
*
|
|
41
|
+
* @param str - The input string to convert
|
|
42
|
+
* @returns The title-cased string
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* toTitleCase('hello world') // "Hello World"
|
|
46
|
+
* toTitleCase('hello-world') // "Hello World"
|
|
47
|
+
* toTitleCase('hello_world') // "Hello World"
|
|
48
|
+
* toTitleCase('helloWorld') // "Hello World"
|
|
49
|
+
* toTitleCase('HELLO WORLD') // "Hello World"
|
|
50
|
+
* toTitleCase('hello world') // "Hello World" (collapses spaces)
|
|
51
|
+
* toTitleCase('') // ""
|
|
52
|
+
* toTitleCase('a') // "A"
|
|
53
|
+
*
|
|
54
|
+
* @throws Does not throw; returns empty string for null/undefined
|
|
55
|
+
*/
|
|
56
|
+
export declare function toTitleCase(str: string): string;
|
|
57
|
+
/**
|
|
58
|
+
* Converts a string to camelCase format
|
|
59
|
+
*
|
|
60
|
+
* Useful for JavaScript variable names and object properties.
|
|
61
|
+
* Handles multiple input formats and preserves acronyms intelligently.
|
|
62
|
+
*
|
|
63
|
+
* @param str - The input string to convert
|
|
64
|
+
* @returns The camelCased string
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* toCamelCase('hello world') // "helloWorld"
|
|
68
|
+
* toCamelCase('hello-world') // "helloWorld"
|
|
69
|
+
* toCamelCase('hello_world') // "helloWorld"
|
|
70
|
+
* toCamelCase('HelloWorld') // "helloWorld"
|
|
71
|
+
* toCamelCase('HELLO_WORLD') // "helloWorld"
|
|
72
|
+
* toCamelCase('get-user-id') // "getUserId"
|
|
73
|
+
* toCamelCase('') // ""
|
|
74
|
+
* toCamelCase('x') // "x"
|
|
75
|
+
*
|
|
76
|
+
* @edge-cases
|
|
77
|
+
* - Empty strings return empty string
|
|
78
|
+
* - Single characters preserved as lowercase
|
|
79
|
+
* - Multiple consecutive delimiters treated as single
|
|
80
|
+
*/
|
|
81
|
+
export declare function toCamelCase(str: string): string;
|
|
82
|
+
/**
|
|
83
|
+
* Converts a string to snake_case format
|
|
84
|
+
*
|
|
85
|
+
* Useful for Python variable names, database columns, and file names.
|
|
86
|
+
* Handles acronyms and consecutive uppercase letters.
|
|
87
|
+
*
|
|
88
|
+
* @param str - The input string to convert
|
|
89
|
+
* @returns The snake_cased string
|
|
90
|
+
*
|
|
91
|
+
* @example
|
|
92
|
+
* toSnakeCase('HelloWorld') // "hello_world"
|
|
93
|
+
* toSnakeCase('hello world') // "hello_world"
|
|
94
|
+
* toSnakeCase('hello-world') // "hello_world"
|
|
95
|
+
* toSnakeCase('helloWorld') // "hello_world"
|
|
96
|
+
* toSnakeCase('HTMLParser') // "html_parser"
|
|
97
|
+
* toSnakeCase('getHTTPResponseCode') // "get_http_response_code"
|
|
98
|
+
* toSnakeCase('') // ""
|
|
99
|
+
*
|
|
100
|
+
* @edge-cases
|
|
101
|
+
* - Consecutive uppercase letters treated as acronym
|
|
102
|
+
* - Preserves existing underscores
|
|
103
|
+
* - Collapses multiple delimiters
|
|
104
|
+
*/
|
|
105
|
+
export declare function toSnakeCase(str: string): string;
|
|
106
|
+
/**
|
|
107
|
+
* Converts a string to kebab-case format
|
|
108
|
+
*
|
|
109
|
+
* Useful for URL slugs, CSS class names, and configuration keys.
|
|
110
|
+
* Similar to snake_case but uses hyphens instead of underscores.
|
|
111
|
+
*
|
|
112
|
+
* @param str - The input string to convert
|
|
113
|
+
* @returns The kebab-cased string
|
|
114
|
+
*
|
|
115
|
+
* @example
|
|
116
|
+
* toKebabCase('HelloWorld') // "hello-world"
|
|
117
|
+
* toKebabCase('hello world') // "hello-world"
|
|
118
|
+
* toKebabCase('hello_world') // "hello-world"
|
|
119
|
+
* toKebabCase('helloWorld') // "hello-world"
|
|
120
|
+
* toKebabCase('get-user-data') // "get-user-data"
|
|
121
|
+
* toKebabCase('GetUserData') // "get-user-data"
|
|
122
|
+
* toKebabCase('') // ""
|
|
123
|
+
*
|
|
124
|
+
* @edge-cases
|
|
125
|
+
* - URL-safe; suitable for web slugs
|
|
126
|
+
* - Collapses multiple delimiters
|
|
127
|
+
*/
|
|
128
|
+
export declare function toKebabCase(str: string): string;
|
|
129
|
+
/**
|
|
130
|
+
* Truncates a string to a maximum length with optional ellipsis
|
|
131
|
+
*
|
|
132
|
+
* Intelligently handles word boundaries when requested.
|
|
133
|
+
* Preserves readability by truncating at word ends when possible.
|
|
134
|
+
*
|
|
135
|
+
* @param str - The input string to truncate
|
|
136
|
+
* @param maxLength - Maximum length of result (including ellipsis if added)
|
|
137
|
+
* @param ellipsis - String to append if truncated (default: '...')
|
|
138
|
+
* @param wordBoundary - If true, truncate at word boundary (default: false)
|
|
139
|
+
* @returns The truncated string
|
|
140
|
+
*
|
|
141
|
+
* @example
|
|
142
|
+
* truncate('hello world', 8) // "hello..."
|
|
143
|
+
* truncate('hello world', 11) // "hello world"
|
|
144
|
+
* truncate('hello world', 8, '…') // "hello…"
|
|
145
|
+
* truncate('hello world', 8, '...', true) // "hello..." (word boundary)
|
|
146
|
+
* truncate('supercalifragilisticexpialidocious', 10) // "supercali..."
|
|
147
|
+
* truncate('', 5) // ""
|
|
148
|
+
* truncate('hi', 10) // "hi"
|
|
149
|
+
*
|
|
150
|
+
* @edge-cases
|
|
151
|
+
* - If maxLength < ellipsis.length, returns ellipsis
|
|
152
|
+
* - Word boundary mode may result in shorter strings
|
|
153
|
+
* - Empty strings return empty string
|
|
154
|
+
*/
|
|
155
|
+
export declare function truncate(str: string, maxLength: number, ellipsis?: string, wordBoundary?: boolean): string;
|
|
156
|
+
/**
|
|
157
|
+
* Pads the start of a string with a fill string
|
|
158
|
+
*
|
|
159
|
+
* Complements JavaScript's native padStart with custom handling.
|
|
160
|
+
* Useful for formatting numbers, codes, and aligned output.
|
|
161
|
+
*
|
|
162
|
+
* @param str - The input string to pad
|
|
163
|
+
* @param length - Target length
|
|
164
|
+
* @param fillStr - String to repeat for padding (default: ' ')
|
|
165
|
+
* @returns The padded string
|
|
166
|
+
*
|
|
167
|
+
* @example
|
|
168
|
+
* padStart('5', 3, '0') // "005"
|
|
169
|
+
* padStart('42', 4, '0') // "0042"
|
|
170
|
+
* padStart('hello', 10) // " hello"
|
|
171
|
+
* padStart('hello', 3) // "hello" (no padding if already longer)
|
|
172
|
+
* padStart('', 3, '-') // "---"
|
|
173
|
+
* padStart('a', 5, 'xy') // "xyxya"
|
|
174
|
+
*
|
|
175
|
+
* @edge-cases
|
|
176
|
+
* - If target length is less than string length, returns original
|
|
177
|
+
* - Multiple character fill strings repeat as needed
|
|
178
|
+
*/
|
|
179
|
+
export declare function padStart(str: string, length: number, fillStr?: string): string;
|
|
180
|
+
/**
|
|
181
|
+
* Pads the end of a string with a fill string
|
|
182
|
+
*
|
|
183
|
+
* Opposite of padStart. Useful for right-aligned formatting.
|
|
184
|
+
*
|
|
185
|
+
* @param str - The input string to pad
|
|
186
|
+
* @param length - Target length
|
|
187
|
+
* @param fillStr - String to repeat for padding (default: ' ')
|
|
188
|
+
* @returns The padded string
|
|
189
|
+
*
|
|
190
|
+
* @example
|
|
191
|
+
* padEnd('5', 3, '0') // "500"
|
|
192
|
+
* padEnd('hello', 10) // "hello "
|
|
193
|
+
* padEnd('hello', 3) // "hello" (no padding if already longer)
|
|
194
|
+
* padEnd('', 3, '-') // "---"
|
|
195
|
+
* padEnd('a', 5, 'xy') // "axyxy"
|
|
196
|
+
*
|
|
197
|
+
* @edge-cases
|
|
198
|
+
* - If target length is less than string length, returns original
|
|
199
|
+
* - Multiple character fill strings repeat as needed
|
|
200
|
+
*/
|
|
201
|
+
export declare function padEnd(str: string, length: number, fillStr?: string): string;
|
|
202
|
+
/**
|
|
203
|
+
* Repeats a string a specified number of times
|
|
204
|
+
*
|
|
205
|
+
* Native alternative with better error handling.
|
|
206
|
+
*
|
|
207
|
+
* @param str - The string to repeat
|
|
208
|
+
* @param count - Number of times to repeat (default: 1)
|
|
209
|
+
* @returns The repeated string
|
|
210
|
+
*
|
|
211
|
+
* @example
|
|
212
|
+
* repeat('ab', 3) // "ababab"
|
|
213
|
+
* repeat('x', 5) // "xxxxx"
|
|
214
|
+
* repeat(' ', 4) // " "
|
|
215
|
+
* repeat('hello', 0) // ""
|
|
216
|
+
* repeat('', 5) // ""
|
|
217
|
+
* repeat('-', 10) // "----------"
|
|
218
|
+
*
|
|
219
|
+
* @edge-cases
|
|
220
|
+
* - Zero or negative count returns empty string
|
|
221
|
+
* - Empty string repeated returns empty string
|
|
222
|
+
*/
|
|
223
|
+
export declare function repeat(str: string, count?: number): string;
|
|
224
|
+
/**
|
|
225
|
+
* Capitalizes the first character of a string
|
|
226
|
+
*
|
|
227
|
+
* Leaves remaining characters unchanged (unlike toTitleCase).
|
|
228
|
+
*
|
|
229
|
+
* @param str - The input string
|
|
230
|
+
* @returns String with first character uppercase
|
|
231
|
+
*
|
|
232
|
+
* @example
|
|
233
|
+
* capitalize('hello') // "Hello"
|
|
234
|
+
* capitalize('HELLO') // "HELLO"
|
|
235
|
+
* capitalize('helloWorld') // "HelloWorld"
|
|
236
|
+
* capitalize('') // ""
|
|
237
|
+
* capitalize('a') // "A"
|
|
238
|
+
* capitalize('already Capitalized') // "Already Capitalized"
|
|
239
|
+
*
|
|
240
|
+
* @edge-cases
|
|
241
|
+
* - Empty string returns empty string
|
|
242
|
+
* - Doesn't change case of remaining characters
|
|
243
|
+
*/
|
|
244
|
+
export declare function capitalize(str: string): string;
|
|
245
|
+
/**
|
|
246
|
+
* Decapitalizes the first character of a string
|
|
247
|
+
*
|
|
248
|
+
* Opposite of capitalize. Useful for variable naming.
|
|
249
|
+
*
|
|
250
|
+
* @param str - The input string
|
|
251
|
+
* @returns String with first character lowercase
|
|
252
|
+
*
|
|
253
|
+
* @example
|
|
254
|
+
* decapitalize('Hello') // "hello"
|
|
255
|
+
* decapitalize('HELLO') // "hELLO"
|
|
256
|
+
* decapitalize('hello') // "hello"
|
|
257
|
+
* decapitalize('') // ""
|
|
258
|
+
* decapitalize('A') // "a"
|
|
259
|
+
*
|
|
260
|
+
* @edge-cases
|
|
261
|
+
* - Empty string returns empty string
|
|
262
|
+
* - Doesn't change case of remaining characters
|
|
263
|
+
*/
|
|
264
|
+
export declare function decapitalize(str: string): string;
|
|
265
|
+
/**
|
|
266
|
+
* Reverses a string character by character
|
|
267
|
+
*
|
|
268
|
+
* Properly handles Unicode and multi-byte characters.
|
|
269
|
+
*
|
|
270
|
+
* @param str - The input string to reverse
|
|
271
|
+
* @returns The reversed string
|
|
272
|
+
*
|
|
273
|
+
* @example
|
|
274
|
+
* reverse('hello') // "olleh"
|
|
275
|
+
* reverse('abc') // "cba"
|
|
276
|
+
* reverse('') // ""
|
|
277
|
+
* reverse('a') // "a"
|
|
278
|
+
* reverse('123') // "321"
|
|
279
|
+
* reverse('hello world') // "dlrow olleh"
|
|
280
|
+
*
|
|
281
|
+
* @edge-cases
|
|
282
|
+
* - Empty string returns empty string
|
|
283
|
+
* - Single character returns same character
|
|
284
|
+
*/
|
|
285
|
+
export declare function reverse(str: string): string;
|
|
286
|
+
/**
|
|
287
|
+
* Checks if a string starts with a given prefix
|
|
288
|
+
*
|
|
289
|
+
* Case-sensitive by default. Wrapper with optional case-insensitivity.
|
|
290
|
+
*
|
|
291
|
+
* @param str - The string to search
|
|
292
|
+
* @param prefix - The prefix to check for
|
|
293
|
+
* @param caseSensitive - If false, comparison is case-insensitive (default: true)
|
|
294
|
+
* @returns true if string starts with prefix
|
|
295
|
+
*
|
|
296
|
+
* @example
|
|
297
|
+
* startsWith('hello world', 'hello') // true
|
|
298
|
+
* startsWith('hello world', 'world') // false
|
|
299
|
+
* startsWith('Hello World', 'hello', false) // true
|
|
300
|
+
* startsWith('', '') // true
|
|
301
|
+
* startsWith('a', 'abc') // false
|
|
302
|
+
* startsWith('test.js', '.js') // false
|
|
303
|
+
*
|
|
304
|
+
* @edge-cases
|
|
305
|
+
* - Empty prefix always returns true
|
|
306
|
+
* - Empty string only matches empty prefix
|
|
307
|
+
* - Case-insensitive comparison lowercases both sides
|
|
308
|
+
*/
|
|
309
|
+
export declare function startsWith(str: string, prefix: string, caseSensitive?: boolean): boolean;
|
|
310
|
+
/**
|
|
311
|
+
* Checks if a string ends with a given suffix
|
|
312
|
+
*
|
|
313
|
+
* Case-sensitive by default. Wrapper with optional case-insensitivity.
|
|
314
|
+
*
|
|
315
|
+
* @param str - The string to search
|
|
316
|
+
* @param suffix - The suffix to check for
|
|
317
|
+
* @param caseSensitive - If false, comparison is case-insensitive (default: true)
|
|
318
|
+
* @returns true if string ends with suffix
|
|
319
|
+
*
|
|
320
|
+
* @example
|
|
321
|
+
* endsWith('hello world', 'world') // true
|
|
322
|
+
* endsWith('hello world', 'hello') // false
|
|
323
|
+
* endsWith('test.js', '.js') // true
|
|
324
|
+
* endsWith('Test.JS', '.js', false) // true
|
|
325
|
+
* endsWith('', '') // true
|
|
326
|
+
* endsWith('a', 'abc') // false
|
|
327
|
+
*
|
|
328
|
+
* @edge-cases
|
|
329
|
+
* - Empty suffix always returns true
|
|
330
|
+
* - Empty string only matches empty suffix
|
|
331
|
+
* - Case-insensitive comparison lowercases both sides
|
|
332
|
+
*/
|
|
333
|
+
export declare function endsWith(str: string, suffix: string, caseSensitive?: boolean): boolean;
|
|
334
|
+
/**
|
|
335
|
+
* Checks if a string includes a given substring
|
|
336
|
+
*
|
|
337
|
+
* Case-sensitive by default. Wrapper with optional case-insensitivity.
|
|
338
|
+
*
|
|
339
|
+
* @param str - The string to search
|
|
340
|
+
* @param search - The substring to look for
|
|
341
|
+
* @param caseSensitive - If false, comparison is case-insensitive (default: true)
|
|
342
|
+
* @returns true if substring is found
|
|
343
|
+
*
|
|
344
|
+
* @example
|
|
345
|
+
* includes('hello world', 'lo wo') // true
|
|
346
|
+
* includes('hello world', 'xyz') // false
|
|
347
|
+
* includes('Hello World', 'world', false) // true
|
|
348
|
+
* includes('', '') // true
|
|
349
|
+
* includes('test', '') // true
|
|
350
|
+
* includes('JavaScript', 'Script', false) // true
|
|
351
|
+
*
|
|
352
|
+
* @edge-cases
|
|
353
|
+
* - Empty search string always returns true
|
|
354
|
+
* - Empty string only matches empty search
|
|
355
|
+
* - Case-insensitive comparison lowercases both sides
|
|
356
|
+
*/
|
|
357
|
+
export declare function includes(str: string, search: string, caseSensitive?: boolean): boolean;
|
|
358
|
+
/**
|
|
359
|
+
* Replaces all occurrences of a string pattern
|
|
360
|
+
*
|
|
361
|
+
* Works with string or regex patterns. Simpler than native replace for all occurrences.
|
|
362
|
+
*
|
|
363
|
+
* @param str - The string to search in
|
|
364
|
+
* @param search - String or regex to search for
|
|
365
|
+
* @param replacement - String or function to replace with
|
|
366
|
+
* @returns The modified string
|
|
367
|
+
*
|
|
368
|
+
* @example
|
|
369
|
+
* replaceAll('hello hello', 'hello', 'hi') // "hi hi"
|
|
370
|
+
* replaceAll('a-b-c', '-', ' ') // "a b c"
|
|
371
|
+
* replaceAll('test test test', 'test', 'result') // "result result result"
|
|
372
|
+
* replaceAll('', 'x', 'y') // ""
|
|
373
|
+
* replaceAll('abc', 'x', 'y') // "abc"
|
|
374
|
+
* replaceAll('aaa', 'a', 'b') // "bbb"
|
|
375
|
+
*
|
|
376
|
+
* @edge-cases
|
|
377
|
+
* - Empty search string doesn't replace
|
|
378
|
+
* - Empty replacement removes the pattern
|
|
379
|
+
* - Can use regex with global flag
|
|
380
|
+
*/
|
|
381
|
+
export declare function replaceAll(str: string, search: string | RegExp, replacement: string | ((match: string) => string)): string;
|
|
382
|
+
/**
|
|
383
|
+
* Splits a string by a delimiter with optional trimming
|
|
384
|
+
*
|
|
385
|
+
* Useful for parsing comma-separated values and other delimited data.
|
|
386
|
+
*
|
|
387
|
+
* @param str - The string to split
|
|
388
|
+
* @param delimiter - The delimiter to split on
|
|
389
|
+
* @param trim - If true, trim each part (default: false)
|
|
390
|
+
* @returns Array of string parts
|
|
391
|
+
*
|
|
392
|
+
* @example
|
|
393
|
+
* splitStr('a,b,c', ',') // ["a", "b", "c"]
|
|
394
|
+
* splitStr('a, b, c', ',', true) // ["a", "b", "c"]
|
|
395
|
+
* splitStr('a|b|c', '|') // ["a", "b", "c"]
|
|
396
|
+
* splitStr('', ',') // [""]
|
|
397
|
+
* splitStr('abc', ',') // ["abc"]
|
|
398
|
+
* splitStr('a b c', ' ') // ["a", "b", "c"]
|
|
399
|
+
*
|
|
400
|
+
* @edge-cases
|
|
401
|
+
* - Empty delimiter returns array with original string
|
|
402
|
+
* - Empty string returns array with empty string
|
|
403
|
+
* - Consecutive delimiters create empty elements
|
|
404
|
+
*/
|
|
405
|
+
export declare function splitStr(str: string, delimiter: string, trim?: boolean): string[];
|
|
406
|
+
/**
|
|
407
|
+
* Joins an array of strings with a delimiter
|
|
408
|
+
*
|
|
409
|
+
* Enhanced version of Array.join with filtering options.
|
|
410
|
+
*
|
|
411
|
+
* @param parts - Array of strings to join
|
|
412
|
+
* @param delimiter - The delimiter to use
|
|
413
|
+
* @param filterEmpty - If true, remove empty strings (default: false)
|
|
414
|
+
* @returns The joined string
|
|
415
|
+
*
|
|
416
|
+
* @example
|
|
417
|
+
* joinStr(['a', 'b', 'c'], ',') // "a,b,c"
|
|
418
|
+
* joinStr(['a', '', 'c'], ',') // "a,,c"
|
|
419
|
+
* joinStr(['a', '', 'c'], ',', true) // "a,c"
|
|
420
|
+
* joinStr([], ',') // ""
|
|
421
|
+
* joinStr(['single'], ',') // "single"
|
|
422
|
+
* joinStr(['path', 'to', 'file'], '/') // "path/to/file"
|
|
423
|
+
*
|
|
424
|
+
* @edge-cases
|
|
425
|
+
* - Empty array returns empty string
|
|
426
|
+
* - Single element array returns that element
|
|
427
|
+
* - Filter empty removes all empty strings before joining
|
|
428
|
+
*/
|
|
429
|
+
export declare function joinStr(parts: string[], delimiter: string, filterEmpty?: boolean): string;
|
|
430
|
+
/**
|
|
431
|
+
* Counts occurrences of a substring
|
|
432
|
+
*
|
|
433
|
+
* Useful for validation and analysis of string content.
|
|
434
|
+
*
|
|
435
|
+
* @param str - The string to search in
|
|
436
|
+
* @param search - The substring to count
|
|
437
|
+
* @param caseSensitive - If false, comparison is case-insensitive (default: true)
|
|
438
|
+
* @returns Number of occurrences
|
|
439
|
+
*
|
|
440
|
+
* @example
|
|
441
|
+
* countOccurrences('hello hello world', 'hello') // 2
|
|
442
|
+
* countOccurrences('aaa', 'a') // 3
|
|
443
|
+
* countOccurrences('test', 'x') // 0
|
|
444
|
+
* countOccurrences('', 'x') // 0
|
|
445
|
+
* countOccurrences('Hello HELLO hello', 'hello', false) // 3
|
|
446
|
+
* countOccurrences('ababab', 'ab') // 3
|
|
447
|
+
*
|
|
448
|
+
* @edge-cases
|
|
449
|
+
* - Empty search string returns 0
|
|
450
|
+
* - Empty string returns 0
|
|
451
|
+
* - Case-insensitive counts all variations
|
|
452
|
+
*/
|
|
453
|
+
export declare function countOccurrences(str: string, search: string, caseSensitive?: boolean): number;
|
|
454
|
+
/**
|
|
455
|
+
* String interpolation helper
|
|
456
|
+
*
|
|
457
|
+
* Replaces {key} patterns with provided values.
|
|
458
|
+
* Useful for templates and dynamic strings.
|
|
459
|
+
*
|
|
460
|
+
* @param template - Template string with {key} placeholders
|
|
461
|
+
* @param values - Object with key-value pairs
|
|
462
|
+
* @returns The interpolated string
|
|
463
|
+
*
|
|
464
|
+
* @example
|
|
465
|
+
* interpolate('Hello {name}!', { name: 'World' }) // "Hello World!"
|
|
466
|
+
* interpolate('{x} + {y} = {z}', { x: '1', y: '2', z: '3' }) // "1 + 2 = 3"
|
|
467
|
+
* interpolate('No placeholders', {}) // "No placeholders"
|
|
468
|
+
* interpolate('Missing {value}', {}) // "Missing {value}"
|
|
469
|
+
* interpolate('', {}) // ""
|
|
470
|
+
*
|
|
471
|
+
* @edge-cases
|
|
472
|
+
* - Missing keys leave placeholder unchanged
|
|
473
|
+
* - Nested objects converted via toString()
|
|
474
|
+
* - Undefined values become "undefined"
|
|
475
|
+
*/
|
|
476
|
+
export declare function interpolate(template: string, values: Record<string, string | number | boolean>): string;
|
|
477
|
+
/**
|
|
478
|
+
* Removes leading and trailing whitespace
|
|
479
|
+
*
|
|
480
|
+
* Enhanced trim with custom character removal.
|
|
481
|
+
*
|
|
482
|
+
* @param str - The string to trim
|
|
483
|
+
* @param chars - Characters to remove (default: whitespace)
|
|
484
|
+
* @returns The trimmed string
|
|
485
|
+
*
|
|
486
|
+
* @example
|
|
487
|
+
* trimStr(' hello ') // "hello"
|
|
488
|
+
* trimStr('xxxhelloxxx', 'x') // "hello"
|
|
489
|
+
* trimStr(' hello ') // "hello"
|
|
490
|
+
* trimStr('') // ""
|
|
491
|
+
* trimStr('---test---', '-') // "test"
|
|
492
|
+
*
|
|
493
|
+
* @edge-cases
|
|
494
|
+
* - Empty string returns empty string
|
|
495
|
+
* - Only specified characters are removed from edges
|
|
496
|
+
*/
|
|
497
|
+
export declare function trimStr(str: string, chars?: string): string;
|
|
498
|
+
/**
|
|
499
|
+
* Configuration for text wrapping behavior
|
|
500
|
+
*/
|
|
501
|
+
export interface WrapOptions {
|
|
502
|
+
/** Width to wrap at (default: 80) */
|
|
503
|
+
width?: number;
|
|
504
|
+
/** Text to use for line breaks (default: '\n') */
|
|
505
|
+
lineBreak?: string;
|
|
506
|
+
/** Indent subsequent lines (default: '') */
|
|
507
|
+
indent?: string;
|
|
508
|
+
/** Break at word boundaries when possible (default: true) */
|
|
509
|
+
wordBoundary?: boolean;
|
|
510
|
+
}
|
|
511
|
+
/**
|
|
512
|
+
* Wraps text to fit within a specified width
|
|
513
|
+
*
|
|
514
|
+
* Intelligently breaks long lines while preserving word integrity.
|
|
515
|
+
* Useful for terminal output and formatted text generation.
|
|
516
|
+
*
|
|
517
|
+
* @param str - The string to wrap
|
|
518
|
+
* @param options - Wrapping options
|
|
519
|
+
* @returns The wrapped string
|
|
520
|
+
*
|
|
521
|
+
* @example
|
|
522
|
+
* wrap('hello world this is a test', { width: 10 })
|
|
523
|
+
* // "hello\nworld this\nis a test"
|
|
524
|
+
*
|
|
525
|
+
* wrap('a very long line here', { width: 10, indent: ' ' })
|
|
526
|
+
* // "a very\n long line\n here"
|
|
527
|
+
*
|
|
528
|
+
* wrap('word1 word2 word3', { width: 10, wordBoundary: true })
|
|
529
|
+
* // "word1\nword2\nword3"
|
|
530
|
+
*
|
|
531
|
+
* @edge-cases
|
|
532
|
+
* - Words longer than width are broken
|
|
533
|
+
* - Existing line breaks are preserved
|
|
534
|
+
*/
|
|
535
|
+
export declare function wrap(str: string, options?: WrapOptions): string;
|
|
536
|
+
/**
|
|
537
|
+
* Escapes special regex characters in a string
|
|
538
|
+
*
|
|
539
|
+
* Useful for creating regex patterns from user input.
|
|
540
|
+
*
|
|
541
|
+
* @param str - The string to escape
|
|
542
|
+
* @returns The escaped string safe for regex
|
|
543
|
+
*
|
|
544
|
+
* @example
|
|
545
|
+
* escapeRegex('(test)') // "\\(test\\)"
|
|
546
|
+
* escapeRegex('[a-z]') // "\\[a-z\\]"
|
|
547
|
+
* escapeRegex('price: $5.00') // "price: \\$5\\.00"
|
|
548
|
+
* escapeRegex('') // ""
|
|
549
|
+
*
|
|
550
|
+
* @edge-cases
|
|
551
|
+
* - All regex special characters are escaped
|
|
552
|
+
* - Empty string returns empty string
|
|
553
|
+
*/
|
|
554
|
+
export declare function escapeRegex(str: string): string;
|
|
555
|
+
/**
|
|
556
|
+
* Strips HTML tags from a string
|
|
557
|
+
*
|
|
558
|
+
* Simple tag removal; for complex HTML use a proper parser.
|
|
559
|
+
*
|
|
560
|
+
* @param str - The string with HTML tags
|
|
561
|
+
* @returns The text content without tags
|
|
562
|
+
*
|
|
563
|
+
* @example
|
|
564
|
+
* stripHtml('<p>Hello <b>World</b></p>') // "Hello World"
|
|
565
|
+
* stripHtml('No tags here') // "No tags here"
|
|
566
|
+
* stripHtml('<script>alert("xss")</script>') // "alert("xss")"
|
|
567
|
+
* stripHtml('') // ""
|
|
568
|
+
*
|
|
569
|
+
* @edge-cases
|
|
570
|
+
* - Doesn't validate HTML
|
|
571
|
+
* - Removes content inside tags
|
|
572
|
+
* - For security-sensitive use, use htmlspecialchars
|
|
573
|
+
*/
|
|
574
|
+
export declare function stripHtml(str: string): string;
|
|
575
|
+
/**
|
|
576
|
+
* Escapes HTML special characters
|
|
577
|
+
*
|
|
578
|
+
* Makes text safe for insertion into HTML.
|
|
579
|
+
*
|
|
580
|
+
* @param str - The string to escape
|
|
581
|
+
* @returns The escaped string
|
|
582
|
+
*
|
|
583
|
+
* @example
|
|
584
|
+
* escapeHtml('<script>') // "<script>"
|
|
585
|
+
* escapeHtml('Hello & Goodbye') // "Hello & Goodbye"
|
|
586
|
+
* escapeHtml('Price: $5.00') // "Price: $5.00"
|
|
587
|
+
* escapeHtml('') // ""
|
|
588
|
+
* escapeHtml('"quoted"') // ""quoted""
|
|
589
|
+
*
|
|
590
|
+
* @edge-cases
|
|
591
|
+
* - Critical for preventing XSS vulnerabilities
|
|
592
|
+
* - Converts &, <, >, ", '
|
|
593
|
+
*/
|
|
594
|
+
export declare function escapeHtml(str: string): string;
|
|
595
|
+
/**
|
|
596
|
+
* Unescapes HTML special characters
|
|
597
|
+
*
|
|
598
|
+
* Reverses escapeHtml transformation.
|
|
599
|
+
*
|
|
600
|
+
* @param str - The escaped HTML string
|
|
601
|
+
* @returns The unescaped string
|
|
602
|
+
*
|
|
603
|
+
* @example
|
|
604
|
+
* unescapeHtml('<script>') // "<script>"
|
|
605
|
+
* unescapeHtml('Hello & Goodbye') // "Hello & Goodbye"
|
|
606
|
+
* unescapeHtml('"quoted"') // ""quoted""
|
|
607
|
+
*/
|
|
608
|
+
export declare function unescapeHtml(str: string): string;
|
|
609
|
+
//# sourceMappingURL=string-formatter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string-formatter.d.ts","sourceRoot":"","sources":["../../src/utils/string-formatter.ts"],"names":[],"mappings":"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"}
|