@thi.ng/strings 3.1.3 → 3.2.2
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 +221 -136
- package/README.md +1 -1
- package/package.json +200 -195
- package/units.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,266 +1,351 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
+
- **Last updated**: 2021-11-21T17:09:28Z
|
|
4
|
+
- **Generator**: [thi.ng/monopub](https://thi.ng/monopub)
|
|
5
|
+
|
|
3
6
|
All notable changes to this project will be documented in this file.
|
|
4
|
-
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
7
|
+
See [Conventional Commits](https://conventionalcommits.org/) for commit guidelines.
|
|
5
8
|
|
|
6
|
-
|
|
9
|
+
**Note:** Unlisted _patch_ versions only involve non-code or otherwise excluded changes
|
|
10
|
+
and/or version bumps of transitive dependencies.
|
|
7
11
|
|
|
8
|
-
|
|
12
|
+
## [3.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@3.2.0) (2021-11-17)
|
|
9
13
|
|
|
14
|
+
#### 🚀 Features
|
|
10
15
|
|
|
16
|
+
- Using workspaces for local tools ([bf7a404](https://github.com/thi-ng/umbrella/commit/bf7a404))
|
|
17
|
+
Improving the overall build ergonomics
|
|
18
|
+
- introduced a tools workspaces
|
|
19
|
+
- imported it in all needed packages/examples
|
|
20
|
+
- inclusive project root
|
|
11
21
|
|
|
22
|
+
#### ♻️ Refactoring
|
|
12
23
|
|
|
24
|
+
- testrunner to binary ([4ebbbb2](https://github.com/thi-ng/umbrella/commit/4ebbbb2))
|
|
25
|
+
this commit reverts (partly) changes made in:
|
|
26
|
+
ef346d7a8753590dc9094108a3d861a8dbd5dd2c
|
|
27
|
+
overall purpose is better testament ergonomics:
|
|
28
|
+
instead of having to pass NODE_OPTIONS with every invocation
|
|
29
|
+
having a binary to handle this for us.
|
|
13
30
|
|
|
14
|
-
|
|
31
|
+
### [3.1.4](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@3.1.4) (2021-11-10)
|
|
15
32
|
|
|
33
|
+
#### ♻️ Refactoring
|
|
16
34
|
|
|
17
|
-
|
|
35
|
+
- update all countdown loops ([a5f374b](https://github.com/thi-ng/umbrella/commit/a5f374b))
|
|
18
36
|
|
|
19
|
-
|
|
37
|
+
## [3.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@3.1.0) (2021-10-25)
|
|
20
38
|
|
|
39
|
+
#### 🚀 Features
|
|
21
40
|
|
|
41
|
+
- migrate/add entities, regexes, fns ([57c246d](https://github.com/thi-ng/umbrella/commit/57c246d))
|
|
22
42
|
|
|
43
|
+
### [3.0.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@3.0.1) (2021-10-13)
|
|
23
44
|
|
|
45
|
+
#### ♻️ Refactoring
|
|
24
46
|
|
|
25
|
-
|
|
47
|
+
- update imports in all tests/pkgs ([effd591](https://github.com/thi-ng/umbrella/commit/effd591))
|
|
48
|
+
- update imports in all pkgs ([5fa2b6f](https://github.com/thi-ng/umbrella/commit/5fa2b6f))
|
|
49
|
+
- add .js suffix for all relative imports
|
|
26
50
|
|
|
51
|
+
# [3.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@3.0.0) (2021-10-12)
|
|
27
52
|
|
|
28
|
-
|
|
53
|
+
#### 🛑 Breaking changes
|
|
29
54
|
|
|
30
|
-
|
|
55
|
+
- major update of ALL pkgs (export maps, ESM only) ([0d1d6ea](https://github.com/thi-ng/umbrella/commit/0d1d6ea))
|
|
56
|
+
- BREAKING CHANGE: discontinue CommonJS & UMD versions
|
|
57
|
+
- only ESM modules will be published from now on
|
|
58
|
+
- CJS obsolete due to ESM support in recent versions of node:
|
|
59
|
+
- i.e. launch NodeJS via:
|
|
60
|
+
- `node --experimental-specifier-resolution=node --experimental-repl-await`
|
|
61
|
+
- in the node REPL use `await import(...)` instead of `require()`
|
|
62
|
+
- UMD obsolete due to widespread browser support for ESM
|
|
63
|
+
Also:
|
|
64
|
+
- normalize/restructure/reorg all package.json files
|
|
65
|
+
- cleanup all build scripts, remove obsolete
|
|
66
|
+
- switch from mocha to [@thi.ng/testament](https://github.com/thi-ng/umbrella/tree/main/packages/testament) for all tests
|
|
31
67
|
|
|
68
|
+
#### 🚀 Features
|
|
32
69
|
|
|
33
|
-
|
|
70
|
+
- add initials() ([5b8476f](https://github.com/thi-ng/umbrella/commit/5b8476f))
|
|
34
71
|
|
|
35
|
-
|
|
72
|
+
#### ♻️ Refactoring
|
|
36
73
|
|
|
74
|
+
- update imports ([138571a](https://github.com/thi-ng/umbrella/commit/138571a))
|
|
75
|
+
- update all tests in _all_ pkgs ([8b582bc](https://github.com/thi-ng/umbrella/commit/8b582bc))
|
|
76
|
+
- update all to use [@thi.ng/testament](https://github.com/thi-ng/umbrella/tree/main/packages/testament)
|
|
37
77
|
|
|
38
|
-
|
|
78
|
+
## [2.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@2.1.0) (2021-03-24)
|
|
39
79
|
|
|
40
|
-
|
|
80
|
+
#### 🚀 Features
|
|
41
81
|
|
|
42
|
-
-
|
|
43
|
-
- CJS obsolete due to ESM support in recent versions of node:
|
|
44
|
-
- i.e. launch NodeJS via:
|
|
45
|
-
- `node --experimental-specifier-resolution=node --experimental-repl-await`
|
|
46
|
-
- in the node REPL use `await import(...)` instead of `require()`
|
|
47
|
-
- UMD obsolete due to widespread browser support for ESM
|
|
82
|
+
- add ruler(), grid() fns, update readme ([d93cbf9](https://github.com/thi-ng/umbrella/commit/d93cbf9))
|
|
48
83
|
|
|
49
|
-
|
|
50
|
-
- normalize/restructure/reorg all package.json files
|
|
51
|
-
- cleanup all build scripts, remove obsolete
|
|
52
|
-
- switch from mocha to @thi.ng/testament for all tests
|
|
84
|
+
#### ♻️ Refactoring
|
|
53
85
|
|
|
86
|
+
- update opts default handling ([fc92745](https://github.com/thi-ng/umbrella/commit/fc92745))
|
|
87
|
+
- update wrapWord(), wordWrapLine()
|
|
54
88
|
|
|
89
|
+
# [2.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@2.0.0) (2021-03-24)
|
|
55
90
|
|
|
91
|
+
#### 🛑 Breaking changes
|
|
56
92
|
|
|
93
|
+
- major update wordWrap() & co. ([9c9c9cc](https://github.com/thi-ng/umbrella/commit/9c9c9cc))
|
|
94
|
+
- BREAKING CHANGE: major update wordWrap(), wordWrapLines() etc.
|
|
95
|
+
- update arguments
|
|
96
|
+
- add `WordWrapOpts` to configure wordwrap behavior
|
|
97
|
+
- add `IWordSplit` interface and `SPLIT_PLAIN`, `SPLIT_ANSI` impls
|
|
98
|
+
- implement hardwrap mode
|
|
57
99
|
|
|
100
|
+
#### 🚀 Features
|
|
58
101
|
|
|
59
|
-
|
|
102
|
+
- add ANSI predicates ([928694b](https://github.com/thi-ng/umbrella/commit/928694b))
|
|
103
|
+
- update split() args ([ea503e8](https://github.com/thi-ng/umbrella/commit/ea503e8))
|
|
104
|
+
- allow string delimiters (or regexp)
|
|
60
105
|
|
|
61
|
-
|
|
106
|
+
## [1.15.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.15.0) (2021-02-20)
|
|
62
107
|
|
|
63
|
-
|
|
108
|
+
#### 🚀 Features
|
|
64
109
|
|
|
65
|
-
|
|
110
|
+
- add int/intLocale, vector formatters ([ac55fe0](https://github.com/thi-ng/umbrella/commit/ac55fe0))
|
|
111
|
+
- add optional arg for float() for special NaN/Inf handling
|
|
66
112
|
|
|
67
|
-
|
|
113
|
+
#### ♻️ Refactoring
|
|
68
114
|
|
|
69
|
-
-
|
|
70
|
-
-
|
|
71
|
-
-
|
|
115
|
+
- avoid [@thi.ng/checks](https://github.com/thi-ng/umbrella/tree/main/packages/checks) dep in vector() ([410d463](https://github.com/thi-ng/umbrella/commit/410d463))
|
|
116
|
+
- update uuid() ([7fe966a](https://github.com/thi-ng/umbrella/commit/7fe966a))
|
|
117
|
+
- re-use fn from [@thi.ng/hex](https://github.com/thi-ng/umbrella/tree/main/packages/hex)
|
|
72
118
|
|
|
73
|
-
|
|
119
|
+
## [1.14.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.14.0) (2021-01-13)
|
|
74
120
|
|
|
75
|
-
|
|
76
|
-
- update arguments
|
|
77
|
-
- add `WordWrapOpts` to configure wordwrap behavior
|
|
78
|
-
- add `IWordSplit` interface and `SPLIT_PLAIN`, `SPLIT_ANSI` impls
|
|
79
|
-
- implement hardwrap mode
|
|
121
|
+
#### 🚀 Features
|
|
80
122
|
|
|
81
|
-
|
|
123
|
+
- add stringify() HOF ([4ab7e72](https://github.com/thi-ng/umbrella/commit/4ab7e72))
|
|
82
124
|
|
|
83
|
-
|
|
125
|
+
#### ♻️ Refactoring
|
|
84
126
|
|
|
85
|
-
-
|
|
127
|
+
- minor update computeCursorPos() ([a593d66](https://github.com/thi-ng/umbrella/commit/a593d66))
|
|
128
|
+
- minor update uuid() ([0a37562](https://github.com/thi-ng/umbrella/commit/0a37562))
|
|
86
129
|
|
|
87
|
-
|
|
130
|
+
## [1.13.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.13.0) (2021-01-10)
|
|
88
131
|
|
|
89
|
-
|
|
132
|
+
#### 🚀 Features
|
|
90
133
|
|
|
91
|
-
-
|
|
134
|
+
- add tab conversion fns ([aefdd97](https://github.com/thi-ng/umbrella/commit/aefdd97))
|
|
135
|
+
- add wordWrap*() fns ([2a283c0](https://github.com/thi-ng/umbrella/commit/2a283c0))
|
|
136
|
+
- add stripAnsi(), lengthAnsi() fns ([86fa81a](https://github.com/thi-ng/umbrella/commit/86fa81a))
|
|
137
|
+
- update padLeft/Right() args ([118f97f](https://github.com/thi-ng/umbrella/commit/118f97f))
|
|
138
|
+
- add optional length arg to explicitly specify string length
|
|
139
|
+
(e.g. to exclude ANSI control seq chars)
|
|
92
140
|
|
|
93
|
-
|
|
141
|
+
#### ⏱ Performance improvements
|
|
94
142
|
|
|
95
|
-
|
|
143
|
+
- simplify string default delim regexp ([bb62760](https://github.com/thi-ng/umbrella/commit/bb62760))
|
|
96
144
|
|
|
97
|
-
|
|
98
|
-
- **strings:** add tab conversion fns ([aefdd97](https://github.com/thi-ng/umbrella/commit/aefdd97e27fce2405860e817b9c5b4aedb6e59e4))
|
|
99
|
-
- **strings:** add wordWrap*() fns ([2a283c0](https://github.com/thi-ng/umbrella/commit/2a283c018592d8cc76f4ef83b69c6ce3c378aca6))
|
|
100
|
-
- **strings:** update padLeft/Right() args ([118f97f](https://github.com/thi-ng/umbrella/commit/118f97f1fca27671c53d184484a7b435e6eedf88))
|
|
145
|
+
## [1.12.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.12.0) (2021-01-05)
|
|
101
146
|
|
|
102
|
-
|
|
147
|
+
#### 🚀 Features
|
|
103
148
|
|
|
104
|
-
-
|
|
149
|
+
- add interpolateKeys() ([bd78d1d](https://github.com/thi-ng/umbrella/commit/bd78d1d))
|
|
105
150
|
|
|
106
|
-
|
|
151
|
+
### [1.11.4](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.11.4) (2021-01-02)
|
|
107
152
|
|
|
108
|
-
|
|
153
|
+
#### 🩹 Bug fixes
|
|
109
154
|
|
|
110
|
-
-
|
|
155
|
+
- update slugifyGH() replacements ([#174](https://github.com/thi-ng/umbrella/issues/174)) ([98a9135](https://github.com/thi-ng/umbrella/commit/98a9135))
|
|
156
|
+
- hard to find definitive info about GH's slugify rules
|
|
157
|
+
- new rules based on more manual experiments and
|
|
158
|
+
studying of unicode charts
|
|
159
|
+
- likely not a watertight solution, but should fix most issues
|
|
160
|
+
of prev impl
|
|
111
161
|
|
|
112
|
-
|
|
162
|
+
### [1.11.2](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.11.2) (2020-12-07)
|
|
113
163
|
|
|
114
|
-
|
|
164
|
+
#### ♻️ Refactoring
|
|
115
165
|
|
|
116
|
-
-
|
|
166
|
+
- update type-only imports in various tests/pkgs ([3fd9c24](https://github.com/thi-ng/umbrella/commit/3fd9c24))
|
|
117
167
|
|
|
118
|
-
|
|
168
|
+
## [1.11.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.11.0) (2020-11-24)
|
|
119
169
|
|
|
120
|
-
|
|
170
|
+
#### 🚀 Features
|
|
121
171
|
|
|
122
|
-
-
|
|
172
|
+
- add split() iterator ([6d2ec4f](https://github.com/thi-ng/umbrella/commit/6d2ec4f))
|
|
123
173
|
|
|
124
|
-
|
|
174
|
+
#### ♻️ Refactoring
|
|
125
175
|
|
|
126
|
-
|
|
176
|
+
- replace hex formatters w/ [@thi.ng/hex](https://github.com/thi-ng/umbrella/tree/main/packages/hex) ([6d7446c](https://github.com/thi-ng/umbrella/commit/6d7446c))
|
|
177
|
+
- add [@thi.ng/hex](https://github.com/thi-ng/umbrella/tree/main/packages/hex) dependency
|
|
178
|
+
- replace U8/16/24/32/64
|
|
179
|
+
- refactor uuid()
|
|
127
180
|
|
|
128
|
-
|
|
129
|
-
- **strings:** add escape(), update unescape(), add tests ([e0d5f1e](https://github.com/thi-ng/umbrella/commit/e0d5f1edcdf78b075908c4973586a0f1732fe006))
|
|
130
|
-
- **strings:** add unescape() ([924466b](https://github.com/thi-ng/umbrella/commit/924466bc5d5f16ced3da95fa2f24dab2bfad0679))
|
|
181
|
+
## [1.10.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.10.0) (2020-09-22)
|
|
131
182
|
|
|
132
|
-
|
|
183
|
+
#### 🚀 Features
|
|
133
184
|
|
|
134
|
-
|
|
185
|
+
- add BOM const, update pkg meta ([b6751fc](https://github.com/thi-ng/umbrella/commit/b6751fc))
|
|
186
|
+
- add escape(), update unescape(), add tests ([e0d5f1e](https://github.com/thi-ng/umbrella/commit/e0d5f1e))
|
|
187
|
+
- add unescape() ([924466b](https://github.com/thi-ng/umbrella/commit/924466b))
|
|
135
188
|
|
|
136
|
-
|
|
189
|
+
### [1.9.6](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.9.6) (2020-09-13)
|
|
137
190
|
|
|
138
|
-
|
|
191
|
+
#### ♻️ Refactoring
|
|
139
192
|
|
|
140
|
-
|
|
193
|
+
- update deps, imports, use new Fn types ([3d21571](https://github.com/thi-ng/umbrella/commit/3d21571))
|
|
141
194
|
|
|
142
|
-
|
|
143
|
-
- **strings:** add slugifyGH(), refactor slugify() ([1ef805b](https://github.com/thi-ng/umbrella/commit/1ef805be3f0347751eba6da0122e1277a5b81e21))
|
|
144
|
-
- **strings:** add trim() HOF ([350a6c6](https://github.com/thi-ng/umbrella/commit/350a6c6cb010e00f2053fb41eeb0f458ee8fb715))
|
|
195
|
+
## [1.9.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.9.0) (2020-07-08)
|
|
145
196
|
|
|
146
|
-
|
|
197
|
+
#### 🚀 Features
|
|
147
198
|
|
|
148
|
-
|
|
199
|
+
- add computeCursorPos() ([c178d00](https://github.com/thi-ng/umbrella/commit/c178d00))
|
|
149
200
|
|
|
150
|
-
|
|
201
|
+
### [1.8.4](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.8.4) (2020-04-20)
|
|
151
202
|
|
|
152
|
-
|
|
203
|
+
#### ♻️ Refactoring
|
|
153
204
|
|
|
154
|
-
|
|
205
|
+
- update ALPHA, ALPHA_NUM & WS groups ([719b437](https://github.com/thi-ng/umbrella/commit/719b437))
|
|
155
206
|
|
|
156
|
-
|
|
207
|
+
## [1.8.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.8.0) (2020-03-28)
|
|
157
208
|
|
|
158
|
-
|
|
209
|
+
#### 🚀 Features
|
|
159
210
|
|
|
160
|
-
|
|
211
|
+
- add trim() HOF ([350a6c6](https://github.com/thi-ng/umbrella/commit/350a6c6))
|
|
212
|
+
- add slugifyGH(), refactor slugify() ([1ef805b](https://github.com/thi-ng/umbrella/commit/1ef805b))
|
|
213
|
+
- add join() HOF ([1c5c46f](https://github.com/thi-ng/umbrella/commit/1c5c46f))
|
|
161
214
|
|
|
162
|
-
|
|
215
|
+
#### ♻️ Refactoring
|
|
163
216
|
|
|
164
|
-
|
|
217
|
+
- update bits/bytes unit defs ([f9becb1](https://github.com/thi-ng/umbrella/commit/f9becb1))
|
|
218
|
+
- add truncateRight alias ([81fb592](https://github.com/thi-ng/umbrella/commit/81fb592))
|
|
165
219
|
|
|
166
|
-
|
|
220
|
+
## [1.7.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.7.0) (2020-03-06)
|
|
167
221
|
|
|
168
|
-
|
|
169
|
-
- **strings:** add interpolate() ([a19e409](https://github.com/thi-ng/umbrella/commit/a19e4094494a8b4af6c35626e4a99394e0481a4e))
|
|
222
|
+
#### 🚀 Features
|
|
170
223
|
|
|
171
|
-
|
|
224
|
+
- add char group LUTs for classification ([c3ff006](https://github.com/thi-ng/umbrella/commit/c3ff006))
|
|
172
225
|
|
|
173
|
-
|
|
226
|
+
## [1.6.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.6.0) (2020-03-01)
|
|
174
227
|
|
|
175
|
-
|
|
228
|
+
#### 🚀 Features
|
|
176
229
|
|
|
177
|
-
|
|
230
|
+
- add defFormat() HOF ([62f4e04](https://github.com/thi-ng/umbrella/commit/62f4e04))
|
|
178
231
|
|
|
179
|
-
|
|
232
|
+
## [1.5.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.5.0) (2020-02-25)
|
|
180
233
|
|
|
181
|
-
|
|
234
|
+
#### 🚀 Features
|
|
182
235
|
|
|
183
|
-
|
|
236
|
+
- add uuid() formatter ([4592742](https://github.com/thi-ng/umbrella/commit/4592742))
|
|
184
237
|
|
|
185
|
-
|
|
238
|
+
#### ♻️ Refactoring
|
|
186
239
|
|
|
187
|
-
-
|
|
240
|
+
- update imports ([3937dc6](https://github.com/thi-ng/umbrella/commit/3937dc6))
|
|
188
241
|
|
|
189
|
-
##
|
|
242
|
+
## [1.4.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.4.0) (2020-01-26)
|
|
190
243
|
|
|
191
|
-
|
|
244
|
+
#### 🚀 Features
|
|
192
245
|
|
|
193
|
-
-
|
|
246
|
+
- add interpolate() ([a19e409](https://github.com/thi-ng/umbrella/commit/a19e409))
|
|
247
|
+
- add format() helpers (str, ignore) ([df87b7c](https://github.com/thi-ng/umbrella/commit/df87b7c))
|
|
194
248
|
|
|
195
|
-
|
|
249
|
+
## [1.3.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.3.0) (2019-09-21)
|
|
196
250
|
|
|
197
|
-
|
|
251
|
+
#### 🚀 Features
|
|
198
252
|
|
|
199
|
-
-
|
|
253
|
+
- add charRange(), add radix & zero-pad presets ([c9e5a63](https://github.com/thi-ng/umbrella/commit/c9e5a63))
|
|
254
|
+
|
|
255
|
+
## [1.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.2.0) (2019-07-07)
|
|
256
|
+
|
|
257
|
+
#### 🚀 Features
|
|
258
|
+
|
|
259
|
+
- enable TS strict compiler flags (refactor) ([76cecb8](https://github.com/thi-ng/umbrella/commit/76cecb8))
|
|
260
|
+
|
|
261
|
+
#### ♻️ Refactoring
|
|
262
|
+
|
|
263
|
+
- address TS strictNullChecks flag ([fb315fe](https://github.com/thi-ng/umbrella/commit/fb315fe))
|
|
200
264
|
|
|
201
|
-
|
|
265
|
+
## [1.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.1.0) (2019-04-15)
|
|
202
266
|
|
|
203
|
-
|
|
267
|
+
#### 🚀 Features
|
|
204
268
|
|
|
205
|
-
|
|
269
|
+
- add hstr() (hollerith) ([619e9ef](https://github.com/thi-ng/umbrella/commit/619e9ef))
|
|
206
270
|
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
271
|
+
### [1.0.2](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.0.2) (2019-01-31)
|
|
272
|
+
|
|
273
|
+
#### 🩹 Bug fixes
|
|
274
|
+
|
|
275
|
+
- fix [#70](https://github.com/thi-ng/umbrella/issues/70), replace kebab() regex w/ legacy version ([3adabc4](https://github.com/thi-ng/umbrella/commit/3adabc4))
|
|
276
|
+
|
|
277
|
+
# [1.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.0.0) (2019-01-21)
|
|
278
|
+
|
|
279
|
+
#### 🛑 Breaking changes
|
|
280
|
+
|
|
281
|
+
- update package build scripts & outputs, imports in ~50 packages ([b54b703](https://github.com/thi-ng/umbrella/commit/b54b703))
|
|
282
|
+
- BREAKING CHANGE: enabled multi-outputs (ES6 modules, CJS, UMD)
|
|
283
|
+
- build scripts now first build ES6 modules in package root, then call
|
|
284
|
+
`scripts/bundle-module` to build minified CJS & UMD bundles in `/lib`
|
|
285
|
+
- all imports MUST be updated to only refer to package level
|
|
286
|
+
(not individual files anymore). tree shaking in user land will get rid of
|
|
287
|
+
all unused imported symbols.
|
|
210
288
|
|
|
211
|
-
|
|
289
|
+
## [0.7.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@0.7.0) (2018-12-13)
|
|
212
290
|
|
|
213
|
-
|
|
291
|
+
#### 🚀 Features
|
|
214
292
|
|
|
215
|
-
-
|
|
293
|
+
- add slugify() ([8dcc73a](https://github.com/thi-ng/umbrella/commit/8dcc73a))
|
|
216
294
|
|
|
217
|
-
|
|
295
|
+
#### 🩹 Bug fixes
|
|
218
296
|
|
|
219
|
-
-
|
|
297
|
+
- update kebab() ([1b298f7](https://github.com/thi-ng/umbrella/commit/1b298f7))
|
|
298
|
+
- fix initial capital handling
|
|
299
|
+
- add (partial) UTF-8 support
|
|
300
|
+
- add note about Safari / FF
|
|
220
301
|
|
|
221
|
-
|
|
302
|
+
## [0.6.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@0.6.0) (2018-11-08)
|
|
222
303
|
|
|
223
|
-
|
|
304
|
+
#### 🚀 Features
|
|
224
305
|
|
|
225
|
-
-
|
|
306
|
+
- add configurable units() HOF & presets ([33e915b](https://github.com/thi-ng/umbrella/commit/33e915b))
|
|
307
|
+
- add presets formatters: seconds(), meters(), grams(), bits(), bytes()
|
|
226
308
|
|
|
227
|
-
|
|
309
|
+
## [0.5.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@0.5.0) (2018-09-25)
|
|
228
310
|
|
|
229
|
-
|
|
311
|
+
#### 🚀 Features
|
|
230
312
|
|
|
231
|
-
-
|
|
313
|
+
- add splice(), refactor repeat(), add tests ([0cce048](https://github.com/thi-ng/umbrella/commit/0cce048))
|
|
232
314
|
|
|
233
|
-
|
|
315
|
+
### [0.4.3](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@0.4.3) (2018-09-24)
|
|
234
316
|
|
|
235
|
-
|
|
317
|
+
#### 🩹 Bug fixes
|
|
236
318
|
|
|
237
|
-
-
|
|
319
|
+
- rename number parsers ([8cbfb97](https://github.com/thi-ng/umbrella/commit/8cbfb97))
|
|
320
|
+
- rename to `maybeParseInt` / `maybeParseFloat`
|
|
238
321
|
|
|
239
|
-
|
|
322
|
+
## [0.3.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@0.3.0) (2018-08-24)
|
|
240
323
|
|
|
241
|
-
|
|
324
|
+
#### 🚀 Features
|
|
242
325
|
|
|
243
|
-
-
|
|
326
|
+
- add case converters ([653a175](https://github.com/thi-ng/umbrella/commit/653a175))
|
|
327
|
+
- camel / kebab / snake
|
|
328
|
+
- add truncateLeft() & wrap() stringers ([1a20bc2](https://github.com/thi-ng/umbrella/commit/1a20bc2))
|
|
244
329
|
|
|
245
|
-
|
|
330
|
+
#### 🩹 Bug fixes
|
|
246
331
|
|
|
247
|
-
-
|
|
248
|
-
-
|
|
332
|
+
- buffer length (for null inputs) (`center()`) ([5209c42](https://github.com/thi-ng/umbrella/commit/5209c42))
|
|
333
|
+
- also truncate oversized inputs
|
|
249
334
|
|
|
250
|
-
|
|
335
|
+
## [0.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@0.2.0) (2018-08-08)
|
|
251
336
|
|
|
252
|
-
|
|
337
|
+
#### 🚀 Features
|
|
253
338
|
|
|
254
|
-
-
|
|
339
|
+
- add opt prefix arg for radix() ([5864f2c](https://github.com/thi-ng/umbrella/commit/5864f2c))
|
|
255
340
|
|
|
256
|
-
|
|
341
|
+
### [0.1.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@0.1.1) (2018-08-08)
|
|
257
342
|
|
|
258
|
-
|
|
343
|
+
#### 🩹 Bug fixes
|
|
259
344
|
|
|
260
|
-
-
|
|
345
|
+
- float type decl ([b2ebbfc](https://github.com/thi-ng/umbrella/commit/b2ebbfc))
|
|
261
346
|
|
|
262
|
-
|
|
347
|
+
## [0.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@0.1.0) (2018-08-08)
|
|
263
348
|
|
|
264
|
-
|
|
349
|
+
#### 🚀 Features
|
|
265
350
|
|
|
266
|
-
-
|
|
351
|
+
- re-import & update [@thi.ng/strings](https://github.com/thi-ng/umbrella/tree/main/packages/strings) from MBP2010 ([40781eb](https://github.com/thi-ng/umbrella/commit/40781eb))
|
package/README.md
CHANGED
package/package.json
CHANGED
|
@@ -1,196 +1,201 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
"
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
"
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
"
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
"
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
}
|
|
2
|
+
"name": "@thi.ng/strings",
|
|
3
|
+
"version": "3.2.2",
|
|
4
|
+
"description": "Various string formatting & utility functions",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"module": "./index.js",
|
|
7
|
+
"typings": "./index.d.ts",
|
|
8
|
+
"sideEffects": false,
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "https://github.com/thi-ng/umbrella.git"
|
|
12
|
+
},
|
|
13
|
+
"homepage": "https://github.com/thi-ng/umbrella/tree/develop/packages/format#readme",
|
|
14
|
+
"funding": [
|
|
15
|
+
{
|
|
16
|
+
"type": "github",
|
|
17
|
+
"url": "https://github.com/sponsors/postspectacular"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"type": "patreon",
|
|
21
|
+
"url": "https://patreon.com/thing_umbrella"
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"author": "Karsten Schmidt <k+npm@thi.ng>",
|
|
25
|
+
"license": "Apache-2.0",
|
|
26
|
+
"scripts": {
|
|
27
|
+
"build": "yarn clean && tsc --declaration",
|
|
28
|
+
"clean": "rimraf '*.js' '*.d.ts' '*.map' doc",
|
|
29
|
+
"doc": "typedoc --excludePrivate --excludeInternal --out doc src/index.ts",
|
|
30
|
+
"doc:ae": "mkdir -p .ae/doc .ae/temp && api-extractor run --local --verbose",
|
|
31
|
+
"doc:readme": "yarn doc:stats && tools:readme",
|
|
32
|
+
"doc:stats": "tools:module-stats",
|
|
33
|
+
"pub": "yarn npm publish --access public",
|
|
34
|
+
"test": "testament test"
|
|
35
|
+
},
|
|
36
|
+
"dependencies": {
|
|
37
|
+
"@thi.ng/api": "^8.3.2",
|
|
38
|
+
"@thi.ng/errors": "^2.1.2",
|
|
39
|
+
"@thi.ng/hex": "^2.1.2",
|
|
40
|
+
"@thi.ng/memoize": "^3.1.2"
|
|
41
|
+
},
|
|
42
|
+
"devDependencies": {
|
|
43
|
+
"@microsoft/api-extractor": "^7.18.19",
|
|
44
|
+
"@thi.ng/testament": "^0.2.2",
|
|
45
|
+
"rimraf": "^3.0.2",
|
|
46
|
+
"tools": "^0.0.1",
|
|
47
|
+
"typedoc": "^0.22.9",
|
|
48
|
+
"typescript": "^4.5.2"
|
|
49
|
+
},
|
|
50
|
+
"keywords": [
|
|
51
|
+
"ansi",
|
|
52
|
+
"composition",
|
|
53
|
+
"conversion",
|
|
54
|
+
"escape",
|
|
55
|
+
"float",
|
|
56
|
+
"format",
|
|
57
|
+
"functional",
|
|
58
|
+
"hex",
|
|
59
|
+
"hollerith",
|
|
60
|
+
"interpolation",
|
|
61
|
+
"number",
|
|
62
|
+
"padding",
|
|
63
|
+
"percent",
|
|
64
|
+
"radix",
|
|
65
|
+
"slugify",
|
|
66
|
+
"split",
|
|
67
|
+
"string",
|
|
68
|
+
"tab",
|
|
69
|
+
"trim",
|
|
70
|
+
"typescript",
|
|
71
|
+
"unicode",
|
|
72
|
+
"wordwrap"
|
|
73
|
+
],
|
|
74
|
+
"publishConfig": {
|
|
75
|
+
"access": "public"
|
|
76
|
+
},
|
|
77
|
+
"engines": {
|
|
78
|
+
"node": ">=12.7"
|
|
79
|
+
},
|
|
80
|
+
"files": [
|
|
81
|
+
"*.js",
|
|
82
|
+
"*.d.ts"
|
|
83
|
+
],
|
|
84
|
+
"exports": {
|
|
85
|
+
".": {
|
|
86
|
+
"import": "./index.js"
|
|
87
|
+
},
|
|
88
|
+
"./ansi": {
|
|
89
|
+
"import": "./ansi.js"
|
|
90
|
+
},
|
|
91
|
+
"./api": {
|
|
92
|
+
"import": "./api.js"
|
|
93
|
+
},
|
|
94
|
+
"./case": {
|
|
95
|
+
"import": "./case.js"
|
|
96
|
+
},
|
|
97
|
+
"./center": {
|
|
98
|
+
"import": "./center.js"
|
|
99
|
+
},
|
|
100
|
+
"./cursor": {
|
|
101
|
+
"import": "./cursor.js"
|
|
102
|
+
},
|
|
103
|
+
"./entities": {
|
|
104
|
+
"import": "./entities.js"
|
|
105
|
+
},
|
|
106
|
+
"./escape": {
|
|
107
|
+
"import": "./escape.js"
|
|
108
|
+
},
|
|
109
|
+
"./float": {
|
|
110
|
+
"import": "./float.js"
|
|
111
|
+
},
|
|
112
|
+
"./format": {
|
|
113
|
+
"import": "./format.js"
|
|
114
|
+
},
|
|
115
|
+
"./groups": {
|
|
116
|
+
"import": "./groups.js"
|
|
117
|
+
},
|
|
118
|
+
"./hollerith": {
|
|
119
|
+
"import": "./hollerith.js"
|
|
120
|
+
},
|
|
121
|
+
"./initials": {
|
|
122
|
+
"import": "./initials.js"
|
|
123
|
+
},
|
|
124
|
+
"./int": {
|
|
125
|
+
"import": "./int.js"
|
|
126
|
+
},
|
|
127
|
+
"./interpolate": {
|
|
128
|
+
"import": "./interpolate.js"
|
|
129
|
+
},
|
|
130
|
+
"./join": {
|
|
131
|
+
"import": "./join.js"
|
|
132
|
+
},
|
|
133
|
+
"./pad-left": {
|
|
134
|
+
"import": "./pad-left.js"
|
|
135
|
+
},
|
|
136
|
+
"./pad-right": {
|
|
137
|
+
"import": "./pad-right.js"
|
|
138
|
+
},
|
|
139
|
+
"./parse": {
|
|
140
|
+
"import": "./parse.js"
|
|
141
|
+
},
|
|
142
|
+
"./percent": {
|
|
143
|
+
"import": "./percent.js"
|
|
144
|
+
},
|
|
145
|
+
"./radix": {
|
|
146
|
+
"import": "./radix.js"
|
|
147
|
+
},
|
|
148
|
+
"./range": {
|
|
149
|
+
"import": "./range.js"
|
|
150
|
+
},
|
|
151
|
+
"./repeat": {
|
|
152
|
+
"import": "./repeat.js"
|
|
153
|
+
},
|
|
154
|
+
"./ruler": {
|
|
155
|
+
"import": "./ruler.js"
|
|
156
|
+
},
|
|
157
|
+
"./slugify": {
|
|
158
|
+
"import": "./slugify.js"
|
|
159
|
+
},
|
|
160
|
+
"./splice": {
|
|
161
|
+
"import": "./splice.js"
|
|
162
|
+
},
|
|
163
|
+
"./split": {
|
|
164
|
+
"import": "./split.js"
|
|
165
|
+
},
|
|
166
|
+
"./stringify": {
|
|
167
|
+
"import": "./stringify.js"
|
|
168
|
+
},
|
|
169
|
+
"./tabs": {
|
|
170
|
+
"import": "./tabs.js"
|
|
171
|
+
},
|
|
172
|
+
"./trim": {
|
|
173
|
+
"import": "./trim.js"
|
|
174
|
+
},
|
|
175
|
+
"./truncate-left": {
|
|
176
|
+
"import": "./truncate-left.js"
|
|
177
|
+
},
|
|
178
|
+
"./truncate": {
|
|
179
|
+
"import": "./truncate.js"
|
|
180
|
+
},
|
|
181
|
+
"./units": {
|
|
182
|
+
"import": "./units.js"
|
|
183
|
+
},
|
|
184
|
+
"./uuid": {
|
|
185
|
+
"import": "./uuid.js"
|
|
186
|
+
},
|
|
187
|
+
"./vector": {
|
|
188
|
+
"import": "./vector.js"
|
|
189
|
+
},
|
|
190
|
+
"./word-wrap": {
|
|
191
|
+
"import": "./word-wrap.js"
|
|
192
|
+
},
|
|
193
|
+
"./wrap": {
|
|
194
|
+
"import": "./wrap.js"
|
|
195
|
+
}
|
|
196
|
+
},
|
|
197
|
+
"thi.ng": {
|
|
198
|
+
"year": 2015
|
|
199
|
+
},
|
|
200
|
+
"gitHead": "e8a7c2a40191b391cef182c2978e5a6c85987a87\n"
|
|
201
|
+
}
|
package/units.js
CHANGED
|
@@ -12,7 +12,7 @@ export const units = memoizeJ((exp, base, prec = 2) => {
|
|
|
12
12
|
return `0${base}`;
|
|
13
13
|
}
|
|
14
14
|
const absX = Math.abs(x);
|
|
15
|
-
for (let i = groups.length; --
|
|
15
|
+
for (let i = groups.length; i-- > 0;) {
|
|
16
16
|
const g = groups[i];
|
|
17
17
|
if (absX >= g[0] || i === 0) {
|
|
18
18
|
return (x / g[0]).toFixed(g[1]) + g[2];
|