@robinpath/string 0.1.0 → 0.1.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/README.md +98 -98
- package/package.json +21 -5
- package/dist/index.d.ts +0 -6
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -12
- package/dist/index.js.map +0 -1
- package/dist/string.d.ts +0 -228
- package/dist/string.d.ts.map +0 -1
- package/dist/string.js +0 -262
- package/dist/string.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,98 +1,98 @@
|
|
|
1
|
-
# @robinpath/string
|
|
2
|
-
|
|
3
|
-
> String manipulation utilities: case conversion, slugify, truncate, pad, reverse, and more
|
|
4
|
-
|
|
5
|
-
   
|
|
6
|
-
|
|
7
|
-
## Why use this module?
|
|
8
|
-
|
|
9
|
-
The `string` module lets you:
|
|
10
|
-
|
|
11
|
-
- Capitalize the first letter of a string
|
|
12
|
-
- Convert a string to camelCase
|
|
13
|
-
- Convert a string to snake_case
|
|
14
|
-
- Convert a string to kebab-case
|
|
15
|
-
- Convert a string to PascalCase
|
|
16
|
-
|
|
17
|
-
All functions are callable directly from RobinPath scripts with a simple, consistent API.
|
|
18
|
-
|
|
19
|
-
## Installation
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
npm install @robinpath/string
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
## Quick Start
|
|
26
|
-
|
|
27
|
-
No credentials needed — start using it right away:
|
|
28
|
-
|
|
29
|
-
```robinpath
|
|
30
|
-
string.camelCase "hello world"
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## Available Functions
|
|
34
|
-
|
|
35
|
-
| Function | Description |
|
|
36
|
-
|----------|-------------|
|
|
37
|
-
| `string.capitalize` | Capitalize the first letter of a string |
|
|
38
|
-
| `string.camelCase` | Convert a string to camelCase |
|
|
39
|
-
| `string.snakeCase` | Convert a string to snake_case |
|
|
40
|
-
| `string.kebabCase` | Convert a string to kebab-case |
|
|
41
|
-
| `string.pascalCase` | Convert a string to PascalCase |
|
|
42
|
-
| `string.titleCase` | Capitalize the first letter of each word |
|
|
43
|
-
| `string.slugify` | Convert a string to a URL-friendly slug |
|
|
44
|
-
| `string.truncate` | Truncate a string to a maximum length with a suffix |
|
|
45
|
-
| `string.padStart` | Pad the start of a string to a target length |
|
|
46
|
-
| `string.padEnd` | Pad the end of a string to a target length |
|
|
47
|
-
| `string.reverse` | Reverse a string |
|
|
48
|
-
| `string.wordCount` | Count the number of words in a string |
|
|
49
|
-
| `string.contains` | Check if a string contains a substring |
|
|
50
|
-
| `string.repeat` | Repeat a string N times |
|
|
51
|
-
| `string.replaceAll` | Replace all occurrences of a search string with a replacement |
|
|
52
|
-
|
|
53
|
-
## Examples
|
|
54
|
-
|
|
55
|
-
### Convert a string to camelCase
|
|
56
|
-
|
|
57
|
-
```robinpath
|
|
58
|
-
string.camelCase "hello world"
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
### Convert a string to snake_case
|
|
62
|
-
|
|
63
|
-
```robinpath
|
|
64
|
-
string.snakeCase "helloWorld"
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
### Convert a string to kebab-case
|
|
68
|
-
|
|
69
|
-
```robinpath
|
|
70
|
-
string.kebabCase "helloWorld"
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
## Integration with RobinPath
|
|
74
|
-
|
|
75
|
-
```typescript
|
|
76
|
-
import { RobinPath } from "@wiredwp/robinpath";
|
|
77
|
-
import Module from "@robinpath/string";
|
|
78
|
-
|
|
79
|
-
const rp = new RobinPath();
|
|
80
|
-
rp.registerModule(Module.name, Module.functions);
|
|
81
|
-
rp.registerModuleMeta(Module.name, Module.functionMetadata);
|
|
82
|
-
|
|
83
|
-
const result = await rp.executeScript(`
|
|
84
|
-
string.camelCase "hello world"
|
|
85
|
-
`);
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
## Full API Reference
|
|
89
|
-
|
|
90
|
-
See [MODULE.md](./MODULE.md) for complete documentation including all parameters, return types, error handling, and advanced examples.
|
|
91
|
-
|
|
92
|
-
## Related Modules
|
|
93
|
-
|
|
94
|
-
- [`@robinpath/json`](../json) — JSON module for complementary functionality
|
|
95
|
-
|
|
96
|
-
## License
|
|
97
|
-
|
|
98
|
-
MIT
|
|
1
|
+
# @robinpath/string
|
|
2
|
+
|
|
3
|
+
> String manipulation utilities: case conversion, slugify, truncate, pad, reverse, and more
|
|
4
|
+
|
|
5
|
+
   
|
|
6
|
+
|
|
7
|
+
## Why use this module?
|
|
8
|
+
|
|
9
|
+
The `string` module lets you:
|
|
10
|
+
|
|
11
|
+
- Capitalize the first letter of a string
|
|
12
|
+
- Convert a string to camelCase
|
|
13
|
+
- Convert a string to snake_case
|
|
14
|
+
- Convert a string to kebab-case
|
|
15
|
+
- Convert a string to PascalCase
|
|
16
|
+
|
|
17
|
+
All functions are callable directly from RobinPath scripts with a simple, consistent API.
|
|
18
|
+
|
|
19
|
+
## Installation
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npm install @robinpath/string
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Quick Start
|
|
26
|
+
|
|
27
|
+
No credentials needed — start using it right away:
|
|
28
|
+
|
|
29
|
+
```robinpath
|
|
30
|
+
string.camelCase "hello world"
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Available Functions
|
|
34
|
+
|
|
35
|
+
| Function | Description |
|
|
36
|
+
|----------|-------------|
|
|
37
|
+
| `string.capitalize` | Capitalize the first letter of a string |
|
|
38
|
+
| `string.camelCase` | Convert a string to camelCase |
|
|
39
|
+
| `string.snakeCase` | Convert a string to snake_case |
|
|
40
|
+
| `string.kebabCase` | Convert a string to kebab-case |
|
|
41
|
+
| `string.pascalCase` | Convert a string to PascalCase |
|
|
42
|
+
| `string.titleCase` | Capitalize the first letter of each word |
|
|
43
|
+
| `string.slugify` | Convert a string to a URL-friendly slug |
|
|
44
|
+
| `string.truncate` | Truncate a string to a maximum length with a suffix |
|
|
45
|
+
| `string.padStart` | Pad the start of a string to a target length |
|
|
46
|
+
| `string.padEnd` | Pad the end of a string to a target length |
|
|
47
|
+
| `string.reverse` | Reverse a string |
|
|
48
|
+
| `string.wordCount` | Count the number of words in a string |
|
|
49
|
+
| `string.contains` | Check if a string contains a substring |
|
|
50
|
+
| `string.repeat` | Repeat a string N times |
|
|
51
|
+
| `string.replaceAll` | Replace all occurrences of a search string with a replacement |
|
|
52
|
+
|
|
53
|
+
## Examples
|
|
54
|
+
|
|
55
|
+
### Convert a string to camelCase
|
|
56
|
+
|
|
57
|
+
```robinpath
|
|
58
|
+
string.camelCase "hello world"
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Convert a string to snake_case
|
|
62
|
+
|
|
63
|
+
```robinpath
|
|
64
|
+
string.snakeCase "helloWorld"
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Convert a string to kebab-case
|
|
68
|
+
|
|
69
|
+
```robinpath
|
|
70
|
+
string.kebabCase "helloWorld"
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Integration with RobinPath
|
|
74
|
+
|
|
75
|
+
```typescript
|
|
76
|
+
import { RobinPath } from "@wiredwp/robinpath";
|
|
77
|
+
import Module from "@robinpath/string";
|
|
78
|
+
|
|
79
|
+
const rp = new RobinPath();
|
|
80
|
+
rp.registerModule(Module.name, Module.functions);
|
|
81
|
+
rp.registerModuleMeta(Module.name, Module.functionMetadata);
|
|
82
|
+
|
|
83
|
+
const result = await rp.executeScript(`
|
|
84
|
+
string.camelCase "hello world"
|
|
85
|
+
`);
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## Full API Reference
|
|
89
|
+
|
|
90
|
+
See [MODULE.md](./MODULE.md) for complete documentation including all parameters, return types, error handling, and advanced examples.
|
|
91
|
+
|
|
92
|
+
## Related Modules
|
|
93
|
+
|
|
94
|
+
- [`@robinpath/json`](../json) — JSON module for complementary functionality
|
|
95
|
+
|
|
96
|
+
## License
|
|
97
|
+
|
|
98
|
+
MIT
|
package/package.json
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@robinpath/string",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"publishConfig": {
|
|
3
|
+
"version": "0.1.1",
|
|
4
|
+
"publishConfig": {
|
|
5
|
+
"access": "public"
|
|
6
|
+
},
|
|
5
7
|
"type": "module",
|
|
6
8
|
"main": "dist/index.js",
|
|
7
9
|
"types": "dist/index.d.ts",
|
|
@@ -11,17 +13,31 @@
|
|
|
11
13
|
"types": "./dist/index.d.ts"
|
|
12
14
|
}
|
|
13
15
|
},
|
|
14
|
-
"files": [
|
|
16
|
+
"files": [
|
|
17
|
+
"dist"
|
|
18
|
+
],
|
|
15
19
|
"scripts": {
|
|
16
20
|
"build": "tsc",
|
|
17
21
|
"test": "node --import tsx --test tests/*.test.ts"
|
|
18
22
|
},
|
|
19
23
|
"peerDependencies": {
|
|
20
|
-
"@
|
|
24
|
+
"@robinpath/core": ">=0.20.0"
|
|
21
25
|
},
|
|
22
26
|
"devDependencies": {
|
|
23
|
-
"@
|
|
27
|
+
"@robinpath/core": "^0.30.1",
|
|
24
28
|
"tsx": "^4.19.0",
|
|
25
29
|
"typescript": "^5.6.0"
|
|
30
|
+
},
|
|
31
|
+
"description": "String manipulation utilities: case conversion, slugify, truncate, pad, reverse, and more",
|
|
32
|
+
"keywords": [
|
|
33
|
+
"string",
|
|
34
|
+
"utility"
|
|
35
|
+
],
|
|
36
|
+
"license": "MIT",
|
|
37
|
+
"robinpath": {
|
|
38
|
+
"category": "utility",
|
|
39
|
+
"type": "utility",
|
|
40
|
+
"auth": "none",
|
|
41
|
+
"functionCount": 15
|
|
26
42
|
}
|
|
27
43
|
}
|
package/dist/index.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { ModuleAdapter } from "@wiredwp/robinpath";
|
|
2
|
-
declare const StringModule: ModuleAdapter;
|
|
3
|
-
export default StringModule;
|
|
4
|
-
export { StringModule };
|
|
5
|
-
export { StringFunctions, StringFunctionMetadata, StringModuleMetadata } from "./string.js";
|
|
6
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGxD,QAAA,MAAM,YAAY,EAAE,aAMnB,CAAC;AAEF,eAAe,YAAY,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/index.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { StringFunctions, StringFunctionMetadata, StringModuleMetadata } from "./string.js";
|
|
2
|
-
const StringModule = {
|
|
3
|
-
name: "string",
|
|
4
|
-
functions: StringFunctions,
|
|
5
|
-
functionMetadata: StringFunctionMetadata,
|
|
6
|
-
moduleMetadata: StringModuleMetadata,
|
|
7
|
-
global: false,
|
|
8
|
-
}; // as ModuleAdapter
|
|
9
|
-
export default StringModule;
|
|
10
|
-
export { StringModule };
|
|
11
|
-
export { StringFunctions, StringFunctionMetadata, StringModuleMetadata } from "./string.js";
|
|
12
|
-
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAE5F,MAAM,YAAY,GAAkB;IAClC,IAAI,EAAE,QAAQ;IACd,SAAS,EAAE,eAAe;IAC1B,gBAAgB,EAAE,sBAA6B;IAC/C,cAAc,EAAE,oBAA2B;IAC3C,MAAM,EAAE,KAAK;CACd,CAAC,CAAC,mBAAmB;AAEtB,eAAe,YAAY,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/string.d.ts
DELETED
|
@@ -1,228 +0,0 @@
|
|
|
1
|
-
import type { BuiltinHandler } from "@wiredwp/robinpath";
|
|
2
|
-
export declare const StringFunctions: Record<string, BuiltinHandler>;
|
|
3
|
-
export declare const StringFunctionMetadata: {
|
|
4
|
-
capitalize: {
|
|
5
|
-
description: string;
|
|
6
|
-
parameters: {
|
|
7
|
-
name: string;
|
|
8
|
-
dataType: string;
|
|
9
|
-
description: string;
|
|
10
|
-
formInputType: string;
|
|
11
|
-
required: boolean;
|
|
12
|
-
}[];
|
|
13
|
-
returnType: string;
|
|
14
|
-
returnDescription: string;
|
|
15
|
-
example: string;
|
|
16
|
-
};
|
|
17
|
-
camelCase: {
|
|
18
|
-
description: string;
|
|
19
|
-
parameters: {
|
|
20
|
-
name: string;
|
|
21
|
-
dataType: string;
|
|
22
|
-
description: string;
|
|
23
|
-
formInputType: string;
|
|
24
|
-
required: boolean;
|
|
25
|
-
}[];
|
|
26
|
-
returnType: string;
|
|
27
|
-
returnDescription: string;
|
|
28
|
-
example: string;
|
|
29
|
-
};
|
|
30
|
-
snakeCase: {
|
|
31
|
-
description: string;
|
|
32
|
-
parameters: {
|
|
33
|
-
name: string;
|
|
34
|
-
dataType: string;
|
|
35
|
-
description: string;
|
|
36
|
-
formInputType: string;
|
|
37
|
-
required: boolean;
|
|
38
|
-
}[];
|
|
39
|
-
returnType: string;
|
|
40
|
-
returnDescription: string;
|
|
41
|
-
example: string;
|
|
42
|
-
};
|
|
43
|
-
kebabCase: {
|
|
44
|
-
description: string;
|
|
45
|
-
parameters: {
|
|
46
|
-
name: string;
|
|
47
|
-
dataType: string;
|
|
48
|
-
description: string;
|
|
49
|
-
formInputType: string;
|
|
50
|
-
required: boolean;
|
|
51
|
-
}[];
|
|
52
|
-
returnType: string;
|
|
53
|
-
returnDescription: string;
|
|
54
|
-
example: string;
|
|
55
|
-
};
|
|
56
|
-
pascalCase: {
|
|
57
|
-
description: string;
|
|
58
|
-
parameters: {
|
|
59
|
-
name: string;
|
|
60
|
-
dataType: string;
|
|
61
|
-
description: string;
|
|
62
|
-
formInputType: string;
|
|
63
|
-
required: boolean;
|
|
64
|
-
}[];
|
|
65
|
-
returnType: string;
|
|
66
|
-
returnDescription: string;
|
|
67
|
-
example: string;
|
|
68
|
-
};
|
|
69
|
-
titleCase: {
|
|
70
|
-
description: string;
|
|
71
|
-
parameters: {
|
|
72
|
-
name: string;
|
|
73
|
-
dataType: string;
|
|
74
|
-
description: string;
|
|
75
|
-
formInputType: string;
|
|
76
|
-
required: boolean;
|
|
77
|
-
}[];
|
|
78
|
-
returnType: string;
|
|
79
|
-
returnDescription: string;
|
|
80
|
-
example: string;
|
|
81
|
-
};
|
|
82
|
-
slugify: {
|
|
83
|
-
description: string;
|
|
84
|
-
parameters: {
|
|
85
|
-
name: string;
|
|
86
|
-
dataType: string;
|
|
87
|
-
description: string;
|
|
88
|
-
formInputType: string;
|
|
89
|
-
required: boolean;
|
|
90
|
-
}[];
|
|
91
|
-
returnType: string;
|
|
92
|
-
returnDescription: string;
|
|
93
|
-
example: string;
|
|
94
|
-
};
|
|
95
|
-
truncate: {
|
|
96
|
-
description: string;
|
|
97
|
-
parameters: ({
|
|
98
|
-
name: string;
|
|
99
|
-
dataType: string;
|
|
100
|
-
description: string;
|
|
101
|
-
formInputType: string;
|
|
102
|
-
required: boolean;
|
|
103
|
-
defaultValue?: undefined;
|
|
104
|
-
} | {
|
|
105
|
-
name: string;
|
|
106
|
-
dataType: string;
|
|
107
|
-
description: string;
|
|
108
|
-
formInputType: string;
|
|
109
|
-
required: boolean;
|
|
110
|
-
defaultValue: string;
|
|
111
|
-
})[];
|
|
112
|
-
returnType: string;
|
|
113
|
-
returnDescription: string;
|
|
114
|
-
example: string;
|
|
115
|
-
};
|
|
116
|
-
padStart: {
|
|
117
|
-
description: string;
|
|
118
|
-
parameters: ({
|
|
119
|
-
name: string;
|
|
120
|
-
dataType: string;
|
|
121
|
-
description: string;
|
|
122
|
-
formInputType: string;
|
|
123
|
-
required: boolean;
|
|
124
|
-
defaultValue?: undefined;
|
|
125
|
-
} | {
|
|
126
|
-
name: string;
|
|
127
|
-
dataType: string;
|
|
128
|
-
description: string;
|
|
129
|
-
formInputType: string;
|
|
130
|
-
required: boolean;
|
|
131
|
-
defaultValue: string;
|
|
132
|
-
})[];
|
|
133
|
-
returnType: string;
|
|
134
|
-
returnDescription: string;
|
|
135
|
-
example: string;
|
|
136
|
-
};
|
|
137
|
-
padEnd: {
|
|
138
|
-
description: string;
|
|
139
|
-
parameters: ({
|
|
140
|
-
name: string;
|
|
141
|
-
dataType: string;
|
|
142
|
-
description: string;
|
|
143
|
-
formInputType: string;
|
|
144
|
-
required: boolean;
|
|
145
|
-
defaultValue?: undefined;
|
|
146
|
-
} | {
|
|
147
|
-
name: string;
|
|
148
|
-
dataType: string;
|
|
149
|
-
description: string;
|
|
150
|
-
formInputType: string;
|
|
151
|
-
required: boolean;
|
|
152
|
-
defaultValue: string;
|
|
153
|
-
})[];
|
|
154
|
-
returnType: string;
|
|
155
|
-
returnDescription: string;
|
|
156
|
-
example: string;
|
|
157
|
-
};
|
|
158
|
-
reverse: {
|
|
159
|
-
description: string;
|
|
160
|
-
parameters: {
|
|
161
|
-
name: string;
|
|
162
|
-
dataType: string;
|
|
163
|
-
description: string;
|
|
164
|
-
formInputType: string;
|
|
165
|
-
required: boolean;
|
|
166
|
-
}[];
|
|
167
|
-
returnType: string;
|
|
168
|
-
returnDescription: string;
|
|
169
|
-
example: string;
|
|
170
|
-
};
|
|
171
|
-
wordCount: {
|
|
172
|
-
description: string;
|
|
173
|
-
parameters: {
|
|
174
|
-
name: string;
|
|
175
|
-
dataType: string;
|
|
176
|
-
description: string;
|
|
177
|
-
formInputType: string;
|
|
178
|
-
required: boolean;
|
|
179
|
-
}[];
|
|
180
|
-
returnType: string;
|
|
181
|
-
returnDescription: string;
|
|
182
|
-
example: string;
|
|
183
|
-
};
|
|
184
|
-
contains: {
|
|
185
|
-
description: string;
|
|
186
|
-
parameters: {
|
|
187
|
-
name: string;
|
|
188
|
-
dataType: string;
|
|
189
|
-
description: string;
|
|
190
|
-
formInputType: string;
|
|
191
|
-
required: boolean;
|
|
192
|
-
}[];
|
|
193
|
-
returnType: string;
|
|
194
|
-
returnDescription: string;
|
|
195
|
-
example: string;
|
|
196
|
-
};
|
|
197
|
-
repeat: {
|
|
198
|
-
description: string;
|
|
199
|
-
parameters: {
|
|
200
|
-
name: string;
|
|
201
|
-
dataType: string;
|
|
202
|
-
description: string;
|
|
203
|
-
formInputType: string;
|
|
204
|
-
required: boolean;
|
|
205
|
-
}[];
|
|
206
|
-
returnType: string;
|
|
207
|
-
returnDescription: string;
|
|
208
|
-
example: string;
|
|
209
|
-
};
|
|
210
|
-
replaceAll: {
|
|
211
|
-
description: string;
|
|
212
|
-
parameters: {
|
|
213
|
-
name: string;
|
|
214
|
-
dataType: string;
|
|
215
|
-
description: string;
|
|
216
|
-
formInputType: string;
|
|
217
|
-
required: boolean;
|
|
218
|
-
}[];
|
|
219
|
-
returnType: string;
|
|
220
|
-
returnDescription: string;
|
|
221
|
-
example: string;
|
|
222
|
-
};
|
|
223
|
-
};
|
|
224
|
-
export declare const StringModuleMetadata: {
|
|
225
|
-
description: string;
|
|
226
|
-
methods: string[];
|
|
227
|
-
};
|
|
228
|
-
//# sourceMappingURL=string.d.ts.map
|
package/dist/string.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../src/string.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAoC,MAAM,oBAAoB,CAAC;AA+G3F,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAgB1D,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkJlC,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;CAGhC,CAAC"}
|
package/dist/string.js
DELETED
|
@@ -1,262 +0,0 @@
|
|
|
1
|
-
// ── Helpers ─────────────────────────────────────────────────────────
|
|
2
|
-
function splitWords(str) {
|
|
3
|
-
return str
|
|
4
|
-
.replace(/([a-z])([A-Z])/g, "$1 $2")
|
|
5
|
-
.replace(/[_\-]+/g, " ")
|
|
6
|
-
.replace(/[^a-zA-Z0-9\s]/g, "")
|
|
7
|
-
.trim()
|
|
8
|
-
.split(/\s+/)
|
|
9
|
-
.filter(Boolean);
|
|
10
|
-
}
|
|
11
|
-
// ── Handlers ────────────────────────────────────────────────────────
|
|
12
|
-
const capitalize = (args) => {
|
|
13
|
-
const str = String(args[0] ?? "");
|
|
14
|
-
if (str.length === 0)
|
|
15
|
-
return "";
|
|
16
|
-
return str.charAt(0).toUpperCase() + str.slice(1);
|
|
17
|
-
};
|
|
18
|
-
const camelCase = (args) => {
|
|
19
|
-
const words = splitWords(String(args[0] ?? ""));
|
|
20
|
-
return words
|
|
21
|
-
.map((w, i) => (i === 0 ? w.toLowerCase() : w.charAt(0).toUpperCase() + w.slice(1).toLowerCase()))
|
|
22
|
-
.join("");
|
|
23
|
-
};
|
|
24
|
-
const snakeCase = (args) => {
|
|
25
|
-
return splitWords(String(args[0] ?? "")).map((w) => w.toLowerCase()).join("_");
|
|
26
|
-
};
|
|
27
|
-
const kebabCase = (args) => {
|
|
28
|
-
return splitWords(String(args[0] ?? "")).map((w) => w.toLowerCase()).join("-");
|
|
29
|
-
};
|
|
30
|
-
const pascalCase = (args) => {
|
|
31
|
-
return splitWords(String(args[0] ?? ""))
|
|
32
|
-
.map((w) => w.charAt(0).toUpperCase() + w.slice(1).toLowerCase())
|
|
33
|
-
.join("");
|
|
34
|
-
};
|
|
35
|
-
const titleCase = (args) => {
|
|
36
|
-
const str = String(args[0] ?? "");
|
|
37
|
-
return str.replace(/\b\w/g, (ch) => ch.toUpperCase());
|
|
38
|
-
};
|
|
39
|
-
const slugify = (args) => {
|
|
40
|
-
return String(args[0] ?? "")
|
|
41
|
-
.toLowerCase()
|
|
42
|
-
.trim()
|
|
43
|
-
.replace(/[^a-z0-9\s-]/g, "")
|
|
44
|
-
.replace(/[\s]+/g, "-")
|
|
45
|
-
.replace(/-+/g, "-")
|
|
46
|
-
.replace(/^-|-$/g, "");
|
|
47
|
-
};
|
|
48
|
-
const truncate = (args) => {
|
|
49
|
-
const str = String(args[0] ?? "");
|
|
50
|
-
const maxLength = Number(args[1] ?? 100);
|
|
51
|
-
const suffix = args[2] != null ? String(args[2]) : "...";
|
|
52
|
-
if (str.length <= maxLength)
|
|
53
|
-
return str;
|
|
54
|
-
return str.slice(0, maxLength - suffix.length) + suffix;
|
|
55
|
-
};
|
|
56
|
-
const padStart = (args) => {
|
|
57
|
-
const str = String(args[0] ?? "");
|
|
58
|
-
const targetLength = Number(args[1] ?? 0);
|
|
59
|
-
const padChar = args[2] != null ? String(args[2]) : " ";
|
|
60
|
-
return str.padStart(targetLength, padChar);
|
|
61
|
-
};
|
|
62
|
-
const padEnd = (args) => {
|
|
63
|
-
const str = String(args[0] ?? "");
|
|
64
|
-
const targetLength = Number(args[1] ?? 0);
|
|
65
|
-
const padChar = args[2] != null ? String(args[2]) : " ";
|
|
66
|
-
return str.padEnd(targetLength, padChar);
|
|
67
|
-
};
|
|
68
|
-
const reverse = (args) => {
|
|
69
|
-
return String(args[0] ?? "").split("").reverse().join("");
|
|
70
|
-
};
|
|
71
|
-
const wordCount = (args) => {
|
|
72
|
-
const str = String(args[0] ?? "").trim();
|
|
73
|
-
if (str.length === 0)
|
|
74
|
-
return 0;
|
|
75
|
-
return str.split(/\s+/).length;
|
|
76
|
-
};
|
|
77
|
-
const contains = (args) => {
|
|
78
|
-
const str = String(args[0] ?? "");
|
|
79
|
-
const sub = String(args[1] ?? "");
|
|
80
|
-
return str.includes(sub);
|
|
81
|
-
};
|
|
82
|
-
const repeat = (args) => {
|
|
83
|
-
const str = String(args[0] ?? "");
|
|
84
|
-
const count = Number(args[1] ?? 1);
|
|
85
|
-
return str.repeat(count);
|
|
86
|
-
};
|
|
87
|
-
const replaceAll = (args) => {
|
|
88
|
-
const str = String(args[0] ?? "");
|
|
89
|
-
const search = String(args[1] ?? "");
|
|
90
|
-
const replacement = String(args[2] ?? "");
|
|
91
|
-
return str.split(search).join(replacement);
|
|
92
|
-
};
|
|
93
|
-
// ── Exports ─────────────────────────────────────────────────────────
|
|
94
|
-
export const StringFunctions = {
|
|
95
|
-
capitalize,
|
|
96
|
-
camelCase,
|
|
97
|
-
snakeCase,
|
|
98
|
-
kebabCase,
|
|
99
|
-
pascalCase,
|
|
100
|
-
titleCase,
|
|
101
|
-
slugify,
|
|
102
|
-
truncate,
|
|
103
|
-
padStart,
|
|
104
|
-
padEnd,
|
|
105
|
-
reverse,
|
|
106
|
-
wordCount,
|
|
107
|
-
contains,
|
|
108
|
-
repeat,
|
|
109
|
-
replaceAll,
|
|
110
|
-
};
|
|
111
|
-
export const StringFunctionMetadata = {
|
|
112
|
-
capitalize: {
|
|
113
|
-
description: "Capitalize the first letter of a string",
|
|
114
|
-
parameters: [
|
|
115
|
-
{ name: "str", dataType: "string", description: "The string to capitalize", formInputType: "text", required: true },
|
|
116
|
-
],
|
|
117
|
-
returnType: "string",
|
|
118
|
-
returnDescription: "String with first letter capitalized",
|
|
119
|
-
example: 'string.capitalize "hello"',
|
|
120
|
-
},
|
|
121
|
-
camelCase: {
|
|
122
|
-
description: "Convert a string to camelCase",
|
|
123
|
-
parameters: [
|
|
124
|
-
{ name: "str", dataType: "string", description: "The string to convert", formInputType: "text", required: true },
|
|
125
|
-
],
|
|
126
|
-
returnType: "string",
|
|
127
|
-
returnDescription: "camelCase string",
|
|
128
|
-
example: 'string.camelCase "hello world"',
|
|
129
|
-
},
|
|
130
|
-
snakeCase: {
|
|
131
|
-
description: "Convert a string to snake_case",
|
|
132
|
-
parameters: [
|
|
133
|
-
{ name: "str", dataType: "string", description: "The string to convert", formInputType: "text", required: true },
|
|
134
|
-
],
|
|
135
|
-
returnType: "string",
|
|
136
|
-
returnDescription: "snake_case string",
|
|
137
|
-
example: 'string.snakeCase "helloWorld"',
|
|
138
|
-
},
|
|
139
|
-
kebabCase: {
|
|
140
|
-
description: "Convert a string to kebab-case",
|
|
141
|
-
parameters: [
|
|
142
|
-
{ name: "str", dataType: "string", description: "The string to convert", formInputType: "text", required: true },
|
|
143
|
-
],
|
|
144
|
-
returnType: "string",
|
|
145
|
-
returnDescription: "kebab-case string",
|
|
146
|
-
example: 'string.kebabCase "helloWorld"',
|
|
147
|
-
},
|
|
148
|
-
pascalCase: {
|
|
149
|
-
description: "Convert a string to PascalCase",
|
|
150
|
-
parameters: [
|
|
151
|
-
{ name: "str", dataType: "string", description: "The string to convert", formInputType: "text", required: true },
|
|
152
|
-
],
|
|
153
|
-
returnType: "string",
|
|
154
|
-
returnDescription: "PascalCase string",
|
|
155
|
-
example: 'string.pascalCase "hello world"',
|
|
156
|
-
},
|
|
157
|
-
titleCase: {
|
|
158
|
-
description: "Capitalize the first letter of each word",
|
|
159
|
-
parameters: [
|
|
160
|
-
{ name: "str", dataType: "string", description: "The string to convert", formInputType: "text", required: true },
|
|
161
|
-
],
|
|
162
|
-
returnType: "string",
|
|
163
|
-
returnDescription: "Title Case string",
|
|
164
|
-
example: 'string.titleCase "hello world"',
|
|
165
|
-
},
|
|
166
|
-
slugify: {
|
|
167
|
-
description: "Convert a string to a URL-friendly slug",
|
|
168
|
-
parameters: [
|
|
169
|
-
{ name: "str", dataType: "string", description: "The string to slugify", formInputType: "text", required: true },
|
|
170
|
-
],
|
|
171
|
-
returnType: "string",
|
|
172
|
-
returnDescription: "URL-friendly slug",
|
|
173
|
-
example: 'string.slugify "Hello World!"',
|
|
174
|
-
},
|
|
175
|
-
truncate: {
|
|
176
|
-
description: "Truncate a string to a maximum length with a suffix",
|
|
177
|
-
parameters: [
|
|
178
|
-
{ name: "str", dataType: "string", description: "The string to truncate", formInputType: "text", required: true },
|
|
179
|
-
{ name: "maxLength", dataType: "number", description: "Maximum length", formInputType: "number", required: true },
|
|
180
|
-
{ name: "suffix", dataType: "string", description: "Suffix to append (default: '...')", formInputType: "text", required: false, defaultValue: "..." },
|
|
181
|
-
],
|
|
182
|
-
returnType: "string",
|
|
183
|
-
returnDescription: "Truncated string",
|
|
184
|
-
example: 'string.truncate "Hello World" 8',
|
|
185
|
-
},
|
|
186
|
-
padStart: {
|
|
187
|
-
description: "Pad the start of a string to a target length",
|
|
188
|
-
parameters: [
|
|
189
|
-
{ name: "str", dataType: "string", description: "The string to pad", formInputType: "text", required: true },
|
|
190
|
-
{ name: "targetLength", dataType: "number", description: "Target length", formInputType: "number", required: true },
|
|
191
|
-
{ name: "padChar", dataType: "string", description: "Pad character (default: space)", formInputType: "text", required: false, defaultValue: " " },
|
|
192
|
-
],
|
|
193
|
-
returnType: "string",
|
|
194
|
-
returnDescription: "Padded string",
|
|
195
|
-
example: 'string.padStart "5" 3 "0"',
|
|
196
|
-
},
|
|
197
|
-
padEnd: {
|
|
198
|
-
description: "Pad the end of a string to a target length",
|
|
199
|
-
parameters: [
|
|
200
|
-
{ name: "str", dataType: "string", description: "The string to pad", formInputType: "text", required: true },
|
|
201
|
-
{ name: "targetLength", dataType: "number", description: "Target length", formInputType: "number", required: true },
|
|
202
|
-
{ name: "padChar", dataType: "string", description: "Pad character (default: space)", formInputType: "text", required: false, defaultValue: " " },
|
|
203
|
-
],
|
|
204
|
-
returnType: "string",
|
|
205
|
-
returnDescription: "Padded string",
|
|
206
|
-
example: 'string.padEnd "hi" 5 "."',
|
|
207
|
-
},
|
|
208
|
-
reverse: {
|
|
209
|
-
description: "Reverse a string",
|
|
210
|
-
parameters: [
|
|
211
|
-
{ name: "str", dataType: "string", description: "The string to reverse", formInputType: "text", required: true },
|
|
212
|
-
],
|
|
213
|
-
returnType: "string",
|
|
214
|
-
returnDescription: "Reversed string",
|
|
215
|
-
example: 'string.reverse "hello"',
|
|
216
|
-
},
|
|
217
|
-
wordCount: {
|
|
218
|
-
description: "Count the number of words in a string",
|
|
219
|
-
parameters: [
|
|
220
|
-
{ name: "str", dataType: "string", description: "The string to count words in", formInputType: "text", required: true },
|
|
221
|
-
],
|
|
222
|
-
returnType: "number",
|
|
223
|
-
returnDescription: "Number of words",
|
|
224
|
-
example: 'string.wordCount "hello world"',
|
|
225
|
-
},
|
|
226
|
-
contains: {
|
|
227
|
-
description: "Check if a string contains a substring",
|
|
228
|
-
parameters: [
|
|
229
|
-
{ name: "str", dataType: "string", description: "The string to search in", formInputType: "text", required: true },
|
|
230
|
-
{ name: "substring", dataType: "string", description: "The substring to search for", formInputType: "text", required: true },
|
|
231
|
-
],
|
|
232
|
-
returnType: "boolean",
|
|
233
|
-
returnDescription: "True if the string contains the substring",
|
|
234
|
-
example: 'string.contains "hello world" "world"',
|
|
235
|
-
},
|
|
236
|
-
repeat: {
|
|
237
|
-
description: "Repeat a string N times",
|
|
238
|
-
parameters: [
|
|
239
|
-
{ name: "str", dataType: "string", description: "The string to repeat", formInputType: "text", required: true },
|
|
240
|
-
{ name: "count", dataType: "number", description: "Number of repetitions", formInputType: "number", required: true },
|
|
241
|
-
],
|
|
242
|
-
returnType: "string",
|
|
243
|
-
returnDescription: "Repeated string",
|
|
244
|
-
example: 'string.repeat "ab" 3',
|
|
245
|
-
},
|
|
246
|
-
replaceAll: {
|
|
247
|
-
description: "Replace all occurrences of a search string with a replacement",
|
|
248
|
-
parameters: [
|
|
249
|
-
{ name: "str", dataType: "string", description: "The input string", formInputType: "text", required: true },
|
|
250
|
-
{ name: "search", dataType: "string", description: "The string to search for", formInputType: "text", required: true },
|
|
251
|
-
{ name: "replacement", dataType: "string", description: "The replacement string", formInputType: "text", required: true },
|
|
252
|
-
],
|
|
253
|
-
returnType: "string",
|
|
254
|
-
returnDescription: "String with all occurrences replaced",
|
|
255
|
-
example: 'string.replaceAll "hello world" "o" "0"',
|
|
256
|
-
},
|
|
257
|
-
};
|
|
258
|
-
export const StringModuleMetadata = {
|
|
259
|
-
description: "String manipulation utilities: case conversion, slugify, truncate, pad, reverse, and more",
|
|
260
|
-
methods: ["capitalize", "camelCase", "snakeCase", "kebabCase", "pascalCase", "titleCase", "slugify", "truncate", "padStart", "padEnd", "reverse", "wordCount", "contains", "repeat", "replaceAll"],
|
|
261
|
-
};
|
|
262
|
-
//# sourceMappingURL=string.js.map
|
package/dist/string.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"string.js","sourceRoot":"","sources":["../src/string.ts"],"names":[],"mappings":"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"}
|