@thi.ng/strings 3.1.2 → 3.2.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.
Files changed (4) hide show
  1. package/CHANGELOG.md +211 -158
  2. package/README.md +1 -1
  3. package/package.json +200 -195
  4. package/units.js +1 -1
package/CHANGELOG.md CHANGED
@@ -1,298 +1,351 @@
1
1
  # Change Log
2
2
 
3
- All notable changes to this project will be documented in this file.
4
- See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
-
6
- ## [3.1.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@3.1.1...@thi.ng/strings@3.1.2) (2021-10-28)
7
-
8
- **Note:** Version bump only for package @thi.ng/strings
9
-
10
-
11
-
12
-
13
-
14
- ## [3.1.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@3.1.0...@thi.ng/strings@3.1.1) (2021-10-28)
15
-
16
- **Note:** Version bump only for package @thi.ng/strings
17
-
18
-
19
-
20
-
21
-
22
- # [3.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@3.0.3...@thi.ng/strings@3.1.0) (2021-10-25)
3
+ - **Last updated**: 2021-11-19T07:59:51Z
4
+ - **Generator**: [thi.ng/monopub](https://thi.ng/monopub)
23
5
 
6
+ All notable changes to this project will be documented in this file.
7
+ See [Conventional Commits](https://conventionalcommits.org/) for commit guidelines.
24
8
 
25
- ### Features
9
+ **Note:** Unlisted _patch_ versions only involve non-code or otherwise excluded changes
10
+ and/or version bumps of transitive dependencies.
26
11
 
27
- * **strings:** migrate/add entities, regexes, fns ([57c246d](https://github.com/thi-ng/umbrella/commit/57c246df06279a2e70cfb28ce34ff8d9666b0199))
12
+ ## [3.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@3.2.0) (2021-11-17)
28
13
 
14
+ #### 🚀 Features
29
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
30
21
 
22
+ #### ♻️ Refactoring
31
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.
32
30
 
33
- ## [3.0.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@3.0.2...@thi.ng/strings@3.0.3) (2021-10-15)
31
+ ### [3.1.4](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@3.1.4) (2021-11-10)
34
32
 
35
- **Note:** Version bump only for package @thi.ng/strings
33
+ #### ♻️ Refactoring
36
34
 
35
+ - update all countdown loops ([a5f374b](https://github.com/thi-ng/umbrella/commit/a5f374b))
37
36
 
37
+ ## [3.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@3.1.0) (2021-10-25)
38
38
 
39
+ #### 🚀 Features
39
40
 
41
+ - migrate/add entities, regexes, fns ([57c246d](https://github.com/thi-ng/umbrella/commit/57c246d))
40
42
 
41
- ## [3.0.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@3.0.1...@thi.ng/strings@3.0.2) (2021-10-15)
43
+ ### [3.0.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@3.0.1) (2021-10-13)
42
44
 
43
- **Note:** Version bump only for package @thi.ng/strings
45
+ #### ♻️ Refactoring
44
46
 
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
45
50
 
51
+ # [3.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@3.0.0) (2021-10-12)
46
52
 
53
+ #### 🛑 Breaking changes
47
54
 
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
48
67
 
49
- ## [3.0.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@3.0.0...@thi.ng/strings@3.0.1) (2021-10-13)
68
+ #### 🚀 Features
50
69
 
51
- **Note:** Version bump only for package @thi.ng/strings
70
+ - add initials() ([5b8476f](https://github.com/thi-ng/umbrella/commit/5b8476f))
52
71
 
72
+ #### ♻️ Refactoring
53
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)
54
77
 
78
+ ## [2.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@2.1.0) (2021-03-24)
55
79
 
80
+ #### 🚀 Features
56
81
 
57
- # [3.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@2.1.7...@thi.ng/strings@3.0.0) (2021-10-12)
82
+ - add ruler(), grid() fns, update readme ([d93cbf9](https://github.com/thi-ng/umbrella/commit/d93cbf9))
58
83
 
84
+ #### ♻️ Refactoring
59
85
 
60
- ### Build System
86
+ - update opts default handling ([fc92745](https://github.com/thi-ng/umbrella/commit/fc92745))
87
+ - update wrapWord(), wordWrapLine()
61
88
 
62
- * major update of ALL pkgs (export maps, ESM only) ([0d1d6ea](https://github.com/thi-ng/umbrella/commit/0d1d6ea9fab2a645d6c5f2bf2591459b939c09b6))
89
+ # [2.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@2.0.0) (2021-03-24)
63
90
 
91
+ #### 🛑 Breaking changes
64
92
 
65
- ### Features
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
66
99
 
67
- * **strings:** add initials() ([5b8476f](https://github.com/thi-ng/umbrella/commit/5b8476f28dcfbbc252b11eb68a08f6d47aeca300))
100
+ #### 🚀 Features
68
101
 
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)
69
105
 
70
- ### BREAKING CHANGES
106
+ ## [1.15.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.15.0) (2021-02-20)
71
107
 
72
- * discontinue CommonJS & UMD versions
108
+ #### 🚀 Features
73
109
 
74
- - only ESM modules will be published from now on
75
- - CJS obsolete due to ESM support in recent versions of node:
76
- - i.e. launch NodeJS via:
77
- - `node --experimental-specifier-resolution=node --experimental-repl-await`
78
- - in the node REPL use `await import(...)` instead of `require()`
79
- - UMD obsolete due to widespread browser support for ESM
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
80
112
 
81
- Also:
82
- - normalize/restructure/reorg all package.json files
83
- - cleanup all build scripts, remove obsolete
84
- - switch from mocha to @thi.ng/testament for all tests
113
+ #### ♻️ Refactoring
85
114
 
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)
86
118
 
119
+ ## [1.14.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.14.0) (2021-01-13)
87
120
 
121
+ #### 🚀 Features
88
122
 
123
+ - add stringify() HOF ([4ab7e72](https://github.com/thi-ng/umbrella/commit/4ab7e72))
89
124
 
125
+ #### ♻️ Refactoring
90
126
 
91
- # [2.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@2.0.0...@thi.ng/strings@2.1.0) (2021-03-24)
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))
92
129
 
93
- ### Features
130
+ ## [1.13.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.13.0) (2021-01-10)
94
131
 
95
- - **strings:** add ruler(), grid() fns, update readme ([d93cbf9](https://github.com/thi-ng/umbrella/commit/d93cbf9708c414e703fde61e80b5762f34899aa4))
132
+ #### 🚀 Features
96
133
 
97
- # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.15.6...@thi.ng/strings@2.0.0) (2021-03-24)
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)
98
140
 
99
- ### Features
141
+ #### ⏱ Performance improvements
100
142
 
101
- - **strings:** add ANSI predicates ([928694b](https://github.com/thi-ng/umbrella/commit/928694b0a46a7a58b0b4ab56562afceb0b6c8d8d))
102
- - **strings:** major update wordWrap() & co. ([9c9c9cc](https://github.com/thi-ng/umbrella/commit/9c9c9cc1abe68ec32edbe91ac5c277561cafd3c4))
103
- - **strings:** update split() args ([ea503e8](https://github.com/thi-ng/umbrella/commit/ea503e8abdf3598ccd0c1abf5d484164ea73890c))
143
+ - simplify string default delim regexp ([bb62760](https://github.com/thi-ng/umbrella/commit/bb62760))
104
144
 
105
- ### BREAKING CHANGES
145
+ ## [1.12.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.12.0) (2021-01-05)
106
146
 
107
- - **strings:** major update wordWrap(), wordWrapLines() etc.
108
- - update arguments
109
- - add `WordWrapOpts` to configure wordwrap behavior
110
- - add `IWordSplit` interface and `SPLIT_PLAIN`, `SPLIT_ANSI` impls
111
- - implement hardwrap mode
147
+ #### 🚀 Features
112
148
 
113
- # [1.15.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.14.0...@thi.ng/strings@1.15.0) (2021-02-20)
149
+ - add interpolateKeys() ([bd78d1d](https://github.com/thi-ng/umbrella/commit/bd78d1d))
114
150
 
115
- ### Features
151
+ ### [1.11.4](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.11.4) (2021-01-02)
116
152
 
117
- - **strings:** add int/intLocale, vector formatters ([ac55fe0](https://github.com/thi-ng/umbrella/commit/ac55fe007bed81d04848eddb1c4145eb26cdd437))
153
+ #### 🩹 Bug fixes
118
154
 
119
- # [1.14.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.13.0...@thi.ng/strings@1.14.0) (2021-01-13)
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
120
161
 
121
- ### Features
162
+ ### [1.11.2](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.11.2) (2020-12-07)
122
163
 
123
- - **strings:** add stringify() HOF ([4ab7e72](https://github.com/thi-ng/umbrella/commit/4ab7e72bf87cbf058a38ca85b5e2853a5f432d9d))
164
+ #### ♻️ Refactoring
124
165
 
125
- # [1.13.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.12.0...@thi.ng/strings@1.13.0) (2021-01-10)
166
+ - update type-only imports in various tests/pkgs ([3fd9c24](https://github.com/thi-ng/umbrella/commit/3fd9c24))
126
167
 
127
- ### Features
168
+ ## [1.11.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.11.0) (2020-11-24)
128
169
 
129
- - **strings:** add stripAnsi(), lengthAnsi() fns ([86fa81a](https://github.com/thi-ng/umbrella/commit/86fa81acb7dfcf1dc3d6f5600cbf427ee44cf722))
130
- - **strings:** add tab conversion fns ([aefdd97](https://github.com/thi-ng/umbrella/commit/aefdd97e27fce2405860e817b9c5b4aedb6e59e4))
131
- - **strings:** add wordWrap*() fns ([2a283c0](https://github.com/thi-ng/umbrella/commit/2a283c018592d8cc76f4ef83b69c6ce3c378aca6))
132
- - **strings:** update padLeft/Right() args ([118f97f](https://github.com/thi-ng/umbrella/commit/118f97f1fca27671c53d184484a7b435e6eedf88))
170
+ #### 🚀 Features
133
171
 
134
- ### Performance Improvements
172
+ - add split() iterator ([6d2ec4f](https://github.com/thi-ng/umbrella/commit/6d2ec4f))
135
173
 
136
- - **strings:** simplify string default delim regexp ([bb62760](https://github.com/thi-ng/umbrella/commit/bb62760f2069a1f7edeaa09ce0e0639047789af3))
174
+ #### ♻️ Refactoring
137
175
 
138
- # [1.12.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.11.4...@thi.ng/strings@1.12.0) (2021-01-05)
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()
139
180
 
140
- ### Features
181
+ ## [1.10.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.10.0) (2020-09-22)
141
182
 
142
- - **strings:** add interpolateKeys() ([bd78d1d](https://github.com/thi-ng/umbrella/commit/bd78d1dba5e467e6cda452e6db6fcd0fb9a3cf19))
183
+ #### 🚀 Features
143
184
 
144
- ## [1.11.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.11.3...@thi.ng/strings@1.11.4) (2021-01-02)
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))
145
188
 
146
- ### Bug Fixes
189
+ ### [1.9.6](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.9.6) (2020-09-13)
147
190
 
148
- - **strings:** update slugifyGH() replacements ([#174](https://github.com/thi-ng/umbrella/issues/174)) ([98a9135](https://github.com/thi-ng/umbrella/commit/98a91351728d730446f9654fc93317c1bece77ed))
191
+ #### ♻️ Refactoring
149
192
 
150
- # [1.11.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.10.0...@thi.ng/strings@1.11.0) (2020-11-24)
193
+ - update deps, imports, use new Fn types ([3d21571](https://github.com/thi-ng/umbrella/commit/3d21571))
151
194
 
152
- ### Features
195
+ ## [1.9.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.9.0) (2020-07-08)
153
196
 
154
- - **strings:** add split() iterator ([6d2ec4f](https://github.com/thi-ng/umbrella/commit/6d2ec4fccc688acf5a541ea51c9705faca1c9835))
197
+ #### 🚀 Features
155
198
 
156
- # [1.10.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.9.6...@thi.ng/strings@1.10.0) (2020-09-22)
199
+ - add computeCursorPos() ([c178d00](https://github.com/thi-ng/umbrella/commit/c178d00))
157
200
 
158
- ### Features
201
+ ### [1.8.4](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.8.4) (2020-04-20)
159
202
 
160
- - **strings:** add BOM const, update pkg meta ([b6751fc](https://github.com/thi-ng/umbrella/commit/b6751fc506a28a075ea9fee1a5f6d3520449f5af))
161
- - **strings:** add escape(), update unescape(), add tests ([e0d5f1e](https://github.com/thi-ng/umbrella/commit/e0d5f1edcdf78b075908c4973586a0f1732fe006))
162
- - **strings:** add unescape() ([924466b](https://github.com/thi-ng/umbrella/commit/924466bc5d5f16ced3da95fa2f24dab2bfad0679))
203
+ #### ♻️ Refactoring
163
204
 
164
- # [1.9.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.8.13...@thi.ng/strings@1.9.0) (2020-07-08)
205
+ - update ALPHA, ALPHA_NUM & WS groups ([719b437](https://github.com/thi-ng/umbrella/commit/719b437))
165
206
 
166
- ### Features
207
+ ## [1.8.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.8.0) (2020-03-28)
167
208
 
168
- - **strings:** add computeCursorPos() ([c178d00](https://github.com/thi-ng/umbrella/commit/c178d00edcdbe12cec492a1629c80bf359116b66))
209
+ #### 🚀 Features
169
210
 
170
- # [1.8.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.7.0...@thi.ng/strings@1.8.0) (2020-03-28)
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))
171
214
 
172
- ### Features
215
+ #### ♻️ Refactoring
173
216
 
174
- - **strings:** add join() HOF ([1c5c46f](https://github.com/thi-ng/umbrella/commit/1c5c46f5ac832865266613a6d71024507238b694))
175
- - **strings:** add slugifyGH(), refactor slugify() ([1ef805b](https://github.com/thi-ng/umbrella/commit/1ef805be3f0347751eba6da0122e1277a5b81e21))
176
- - **strings:** add trim() HOF ([350a6c6](https://github.com/thi-ng/umbrella/commit/350a6c6cb010e00f2053fb41eeb0f458ee8fb715))
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))
177
219
 
178
- # [1.7.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.6.0...@thi.ng/strings@1.7.0) (2020-03-06)
220
+ ## [1.7.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.7.0) (2020-03-06)
179
221
 
180
- ### Features
222
+ #### 🚀 Features
181
223
 
182
- - **strings:** add char group LUTs for classification ([c3ff006](https://github.com/thi-ng/umbrella/commit/c3ff006b237bece057f675d62a47d29bab9df413))
224
+ - add char group LUTs for classification ([c3ff006](https://github.com/thi-ng/umbrella/commit/c3ff006))
183
225
 
184
- # [1.6.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.5.2...@thi.ng/strings@1.6.0) (2020-03-01)
226
+ ## [1.6.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.6.0) (2020-03-01)
185
227
 
186
- ### Features
228
+ #### 🚀 Features
187
229
 
188
- - **strings:** add defFormat() HOF ([62f4e04](https://github.com/thi-ng/umbrella/commit/62f4e04c72e8822930da3f337898dae0ea51f6d0))
230
+ - add defFormat() HOF ([62f4e04](https://github.com/thi-ng/umbrella/commit/62f4e04))
189
231
 
190
- # [1.5.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.4.0...@thi.ng/strings@1.5.0) (2020-02-25)
232
+ ## [1.5.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.5.0) (2020-02-25)
191
233
 
192
- ### Features
234
+ #### 🚀 Features
193
235
 
194
- - **strings:** add uuid() formatter ([4592742](https://github.com/thi-ng/umbrella/commit/4592742daad1020aa336e3d819324f4555223160))
236
+ - add uuid() formatter ([4592742](https://github.com/thi-ng/umbrella/commit/4592742))
195
237
 
196
- # [1.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.3.3...@thi.ng/strings@1.4.0) (2020-01-26)
238
+ #### ♻️ Refactoring
197
239
 
198
- ### Features
240
+ - update imports ([3937dc6](https://github.com/thi-ng/umbrella/commit/3937dc6))
199
241
 
200
- - **strings:** add format() helpers (str, ignore) ([df87b7c](https://github.com/thi-ng/umbrella/commit/df87b7c7f0a1f9fa5b299fe8311fda02f40ab4cd))
201
- - **strings:** add interpolate() ([a19e409](https://github.com/thi-ng/umbrella/commit/a19e4094494a8b4af6c35626e4a99394e0481a4e))
242
+ ## [1.4.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.4.0) (2020-01-26)
202
243
 
203
- # [1.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.2.3...@thi.ng/strings@1.3.0) (2019-09-21)
244
+ #### 🚀 Features
204
245
 
205
- ### Features
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))
206
248
 
207
- - **strings:** add charRange(), add radix & zero-pad presets ([c9e5a63](https://github.com/thi-ng/umbrella/commit/c9e5a63))
249
+ ## [1.3.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.3.0) (2019-09-21)
208
250
 
209
- # [1.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.1.3...@thi.ng/strings@1.2.0) (2019-07-07)
251
+ #### 🚀 Features
210
252
 
211
- ### Features
253
+ - add charRange(), add radix & zero-pad presets ([c9e5a63](https://github.com/thi-ng/umbrella/commit/c9e5a63))
212
254
 
213
- - **strings:** enable TS strict compiler flags (refactor) ([76cecb8](https://github.com/thi-ng/umbrella/commit/76cecb8))
255
+ ## [1.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.2.0) (2019-07-07)
214
256
 
215
- # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.0.7...@thi.ng/strings@1.1.0) (2019-04-15)
257
+ #### 🚀 Features
216
258
 
217
- ### Features
259
+ - enable TS strict compiler flags (refactor) ([76cecb8](https://github.com/thi-ng/umbrella/commit/76cecb8))
218
260
 
219
- - **strings:** add hstr() (hollerith) ([619e9ef](https://github.com/thi-ng/umbrella/commit/619e9ef))
261
+ #### ♻️ Refactoring
220
262
 
221
- ## [1.0.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.0.1...@thi.ng/strings@1.0.2) (2019-01-31)
263
+ - address TS strictNullChecks flag ([fb315fe](https://github.com/thi-ng/umbrella/commit/fb315fe))
222
264
 
223
- ### Bug Fixes
265
+ ## [1.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.1.0) (2019-04-15)
224
266
 
225
- - **strings:** 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))
267
+ #### 🚀 Features
226
268
 
227
- # [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@0.7.1...@thi.ng/strings@1.0.0) (2019-01-21)
269
+ - add hstr() (hollerith) ([619e9ef](https://github.com/thi-ng/umbrella/commit/619e9ef))
228
270
 
229
- ### Build System
271
+ ### [1.0.2](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.0.2) (2019-01-31)
230
272
 
231
- - update package build scripts & outputs, imports in ~50 packages ([b54b703](https://github.com/thi-ng/umbrella/commit/b54b703))
273
+ #### 🩹 Bug fixes
232
274
 
233
- ### Features
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))
234
276
 
235
- - **strings:** add floatFixedWidth(), update float() ([816c9c0](https://github.com/thi-ng/umbrella/commit/816c9c0))
277
+ # [1.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.0.0) (2019-01-21)
236
278
 
237
- ### BREAKING CHANGES
279
+ #### 🛑 Breaking changes
238
280
 
239
- - enabled multi-outputs (ES6 modules, CJS, UMD)
240
- - build scripts now first build ES6 modules in package root, then call `scripts/bundle-module` to build minified CJS & UMD bundles in `/lib`
241
- - all imports MUST be updated to only refer to package level (not individual files anymore). tree shaking in user land will get rid of all unused imported symbols.
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.
242
288
 
243
- # [0.7.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@0.6.0...@thi.ng/strings@0.7.0) (2018-12-13)
289
+ ## [0.7.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@0.7.0) (2018-12-13)
244
290
 
245
- ### Bug Fixes
291
+ #### 🚀 Features
246
292
 
247
- - **strings:** update kebab() ([1b298f7](https://github.com/thi-ng/umbrella/commit/1b298f7))
293
+ - add slugify() ([8dcc73a](https://github.com/thi-ng/umbrella/commit/8dcc73a))
248
294
 
249
- ### Features
295
+ #### 🩹 Bug fixes
250
296
 
251
- - **strings:** add slugify() ([8dcc73a](https://github.com/thi-ng/umbrella/commit/8dcc73a))
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
252
301
 
253
- # [0.6.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@0.5.2...@thi.ng/strings@0.6.0) (2018-11-08)
302
+ ## [0.6.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@0.6.0) (2018-11-08)
254
303
 
255
- ### Features
304
+ #### 🚀 Features
256
305
 
257
- - **strings:** add configurable units() HOF & presets ([33e915b](https://github.com/thi-ng/umbrella/commit/33e915b))
306
+ - add configurable units() HOF & presets ([33e915b](https://github.com/thi-ng/umbrella/commit/33e915b))
307
+ - add presets formatters: seconds(), meters(), grams(), bits(), bytes()
258
308
 
259
- # [0.5.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@0.4.3...@thi.ng/strings@0.5.0) (2018-09-25)
309
+ ## [0.5.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@0.5.0) (2018-09-25)
260
310
 
261
- ### Features
311
+ #### 🚀 Features
262
312
 
263
- - **strings:** add splice(), refactor repeat(), add tests ([0cce048](https://github.com/thi-ng/umbrella/commit/0cce048))
313
+ - add splice(), refactor repeat(), add tests ([0cce048](https://github.com/thi-ng/umbrella/commit/0cce048))
264
314
 
265
- ## [0.4.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@0.4.2...@thi.ng/strings@0.4.3) (2018-09-24)
315
+ ### [0.4.3](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@0.4.3) (2018-09-24)
266
316
 
267
- ### Bug Fixes
317
+ #### 🩹 Bug fixes
268
318
 
269
- - **strings:** rename number parsers ([8cbfb97](https://github.com/thi-ng/umbrella/commit/8cbfb97))
319
+ - rename number parsers ([8cbfb97](https://github.com/thi-ng/umbrella/commit/8cbfb97))
320
+ - rename to `maybeParseInt` / `maybeParseFloat`
270
321
 
271
- # [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@0.2.0...@thi.ng/strings@0.3.0) (2018-08-24)
322
+ ## [0.3.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@0.3.0) (2018-08-24)
272
323
 
273
- ### Bug Fixes
324
+ #### 🚀 Features
274
325
 
275
- - **strings:** buffer length (for null inputs) (`center()`) ([5209c42](https://github.com/thi-ng/umbrella/commit/5209c42))
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))
276
329
 
277
- ### Features
330
+ #### 🩹 Bug fixes
278
331
 
279
- - **strings:** add case converters ([653a175](https://github.com/thi-ng/umbrella/commit/653a175))
280
- - **strings:** add truncateLeft() & wrap() stringers ([1a20bc2](https://github.com/thi-ng/umbrella/commit/1a20bc2))
332
+ - buffer length (for null inputs) (`center()`) ([5209c42](https://github.com/thi-ng/umbrella/commit/5209c42))
333
+ - also truncate oversized inputs
281
334
 
282
- # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@0.1.1...@thi.ng/strings@0.2.0) (2018-08-08)
335
+ ## [0.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@0.2.0) (2018-08-08)
283
336
 
284
- ### Features
337
+ #### 🚀 Features
285
338
 
286
- - **strings:** add opt prefix arg for radix() ([5864f2c](https://github.com/thi-ng/umbrella/commit/5864f2c))
339
+ - add opt prefix arg for radix() ([5864f2c](https://github.com/thi-ng/umbrella/commit/5864f2c))
287
340
 
288
- ## [0.1.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@0.1.0...@thi.ng/strings@0.1.1) (2018-08-08)
341
+ ### [0.1.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@0.1.1) (2018-08-08)
289
342
 
290
- ### Bug Fixes
343
+ #### 🩹 Bug fixes
291
344
 
292
- - **strings:** float type decl ([b2ebbfc](https://github.com/thi-ng/umbrella/commit/b2ebbfc))
345
+ - float type decl ([b2ebbfc](https://github.com/thi-ng/umbrella/commit/b2ebbfc))
293
346
 
294
- # 0.1.0 (2018-08-08)
347
+ ## [0.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@0.1.0) (2018-08-08)
295
348
 
296
- ### Features
349
+ #### 🚀 Features
297
350
 
298
- - **strings:** re-import & update [@thi](https://github.com/thi).ng/strings from MBP2010 ([40781eb](https://github.com/thi-ng/umbrella/commit/40781eb))
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
@@ -142,7 +142,7 @@ node --experimental-repl-await
142
142
  > const strings = await import("@thi.ng/strings");
143
143
  ```
144
144
 
145
- Package sizes (gzipped, pre-treeshake): ESM: 4.38 KB
145
+ Package sizes (gzipped, pre-treeshake): ESM: 4.53 KB
146
146
 
147
147
  ## Dependencies
148
148
 
package/package.json CHANGED
@@ -1,196 +1,201 @@
1
1
  {
2
- "name": "@thi.ng/strings",
3
- "version": "3.1.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 && node_modules/.bin/api-extractor run --local --verbose",
31
- "doc:readme": "yarn doc:stats && ../../scripts/node-esm ../../tools/src/readme.ts",
32
- "doc:stats": "../../scripts/node-esm ../../tools/src/module-stats.ts",
33
- "pub": "yarn build && yarn publish --access public",
34
- "test": "testament test"
35
- },
36
- "dependencies": {
37
- "@thi.ng/api": "^8.0.6",
38
- "@thi.ng/errors": "^2.0.6",
39
- "@thi.ng/hex": "^2.0.6",
40
- "@thi.ng/memoize": "^3.0.6"
41
- },
42
- "devDependencies": {
43
- "@thi.ng/testament": "^0.1.6"
44
- },
45
- "keywords": [
46
- "ansi",
47
- "composition",
48
- "conversion",
49
- "escape",
50
- "float",
51
- "format",
52
- "functional",
53
- "hex",
54
- "hollerith",
55
- "interpolation",
56
- "number",
57
- "padding",
58
- "percent",
59
- "radix",
60
- "slugify",
61
- "split",
62
- "string",
63
- "tab",
64
- "trim",
65
- "typescript",
66
- "unicode",
67
- "wordwrap"
68
- ],
69
- "publishConfig": {
70
- "access": "public"
71
- },
72
- "engines": {
73
- "node": ">=12.7"
74
- },
75
- "files": [
76
- "*.js",
77
- "*.d.ts"
78
- ],
79
- "exports": {
80
- ".": {
81
- "import": "./index.js"
82
- },
83
- "./ansi": {
84
- "import": "./ansi.js"
85
- },
86
- "./api": {
87
- "import": "./api.js"
88
- },
89
- "./case": {
90
- "import": "./case.js"
91
- },
92
- "./center": {
93
- "import": "./center.js"
94
- },
95
- "./cursor": {
96
- "import": "./cursor.js"
97
- },
98
- "./entities": {
99
- "import": "./entities.js"
100
- },
101
- "./escape": {
102
- "import": "./escape.js"
103
- },
104
- "./float": {
105
- "import": "./float.js"
106
- },
107
- "./format": {
108
- "import": "./format.js"
109
- },
110
- "./groups": {
111
- "import": "./groups.js"
112
- },
113
- "./hollerith": {
114
- "import": "./hollerith.js"
115
- },
116
- "./initials": {
117
- "import": "./initials.js"
118
- },
119
- "./int": {
120
- "import": "./int.js"
121
- },
122
- "./interpolate": {
123
- "import": "./interpolate.js"
124
- },
125
- "./join": {
126
- "import": "./join.js"
127
- },
128
- "./pad-left": {
129
- "import": "./pad-left.js"
130
- },
131
- "./pad-right": {
132
- "import": "./pad-right.js"
133
- },
134
- "./parse": {
135
- "import": "./parse.js"
136
- },
137
- "./percent": {
138
- "import": "./percent.js"
139
- },
140
- "./radix": {
141
- "import": "./radix.js"
142
- },
143
- "./range": {
144
- "import": "./range.js"
145
- },
146
- "./repeat": {
147
- "import": "./repeat.js"
148
- },
149
- "./ruler": {
150
- "import": "./ruler.js"
151
- },
152
- "./slugify": {
153
- "import": "./slugify.js"
154
- },
155
- "./splice": {
156
- "import": "./splice.js"
157
- },
158
- "./split": {
159
- "import": "./split.js"
160
- },
161
- "./stringify": {
162
- "import": "./stringify.js"
163
- },
164
- "./tabs": {
165
- "import": "./tabs.js"
166
- },
167
- "./trim": {
168
- "import": "./trim.js"
169
- },
170
- "./truncate-left": {
171
- "import": "./truncate-left.js"
172
- },
173
- "./truncate": {
174
- "import": "./truncate.js"
175
- },
176
- "./units": {
177
- "import": "./units.js"
178
- },
179
- "./uuid": {
180
- "import": "./uuid.js"
181
- },
182
- "./vector": {
183
- "import": "./vector.js"
184
- },
185
- "./word-wrap": {
186
- "import": "./word-wrap.js"
187
- },
188
- "./wrap": {
189
- "import": "./wrap.js"
190
- }
191
- },
192
- "thi.ng": {
193
- "year": 2015
194
- },
195
- "gitHead": "c17a556ad25f6882dfa8f806a1d9e8ed7ac7cd71"
196
- }
2
+ "name": "@thi.ng/strings",
3
+ "version": "3.2.1",
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.1",
38
+ "@thi.ng/errors": "^2.1.1",
39
+ "@thi.ng/hex": "^2.1.1",
40
+ "@thi.ng/memoize": "^3.1.1"
41
+ },
42
+ "devDependencies": {
43
+ "@microsoft/api-extractor": "^7.18.19",
44
+ "@thi.ng/testament": "^0.2.1",
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": "8bd27c8bde0b770e7c001943f11c951cd345d668\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; --i >= 0;) {
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];