@thi.ng/strings 3.1.0 → 3.2.0

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 CHANGED
@@ -1,282 +1,350 @@
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.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-17T23:24:59Z
7
4
 
5
+ All notable changes to this project will be documented in this file.
6
+ See [Conventional Commits](https://conventionalcommits.org/) for commit guidelines.
8
7
 
9
- ### Features
8
+ **Note:** Unlisted _patch_ versions only involve non-code changes and/or
9
+ version bumps of transitive dependencies.
10
10
 
11
- * **strings:** migrate/add entities, regexes, fns ([57c246d](https://github.com/thi-ng/umbrella/commit/57c246df06279a2e70cfb28ce34ff8d9666b0199))
11
+ ## [3.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@3.2.0) (2021-11-17)
12
12
 
13
+ #### 🚀 Features
13
14
 
15
+ - Using workspaces for local tools ([bf7a404](https://github.com/thi-ng/umbrella/commit/bf7a404))
16
+ Improving the overall build ergonomics
17
+ - introduced a tools workspaces
18
+ - imported it in all needed packages/examples
19
+ - inclusive project root
14
20
 
21
+ #### ♻️ Refactoring
15
22
 
23
+ - testrunner to binary ([4ebbbb2](https://github.com/thi-ng/umbrella/commit/4ebbbb2))
24
+ this commit reverts (partly) changes made in:
25
+ ef346d7a8753590dc9094108a3d861a8dbd5dd2c
26
+ overall purpose is better testament ergonomics:
27
+ instead of having to pass NODE_OPTIONS with every invocation
28
+ having a binary to handle this for us.
16
29
 
17
- ## [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)
30
+ ### [3.1.4](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@3.1.4) (2021-11-10)
18
31
 
19
- **Note:** Version bump only for package @thi.ng/strings
32
+ #### ♻️ Refactoring
20
33
 
34
+ - update all countdown loops ([a5f374b](https://github.com/thi-ng/umbrella/commit/a5f374b))
21
35
 
36
+ ## [3.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@3.1.0) (2021-10-25)
22
37
 
38
+ #### 🚀 Features
23
39
 
40
+ - migrate/add entities, regexes, fns ([57c246d](https://github.com/thi-ng/umbrella/commit/57c246d))
24
41
 
25
- ## [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)
42
+ ### [3.0.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@3.0.1) (2021-10-13)
26
43
 
27
- **Note:** Version bump only for package @thi.ng/strings
44
+ #### ♻️ Refactoring
28
45
 
46
+ - update imports in all tests/pkgs ([effd591](https://github.com/thi-ng/umbrella/commit/effd591))
47
+ - update imports in all pkgs ([5fa2b6f](https://github.com/thi-ng/umbrella/commit/5fa2b6f))
48
+ - add .js suffix for all relative imports
29
49
 
50
+ # [3.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@3.0.0) (2021-10-12)
30
51
 
52
+ #### 🛑 Breaking changes
31
53
 
54
+ - major update of ALL pkgs (export maps, ESM only) ([0d1d6ea](https://github.com/thi-ng/umbrella/commit/0d1d6ea))
55
+ - BREAKING CHANGE: discontinue CommonJS & UMD versions
56
+ - only ESM modules will be published from now on
57
+ - CJS obsolete due to ESM support in recent versions of node:
58
+ - i.e. launch NodeJS via:
59
+ - `node --experimental-specifier-resolution=node --experimental-repl-await`
60
+ - in the node REPL use `await import(...)` instead of `require()`
61
+ - UMD obsolete due to widespread browser support for ESM
62
+ Also:
63
+ - normalize/restructure/reorg all package.json files
64
+ - cleanup all build scripts, remove obsolete
65
+ - switch from mocha to [@thi.ng/testament](https://github.com/thi-ng/umbrella/tree/main/packages/testament) for all tests
32
66
 
33
- ## [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)
67
+ #### 🚀 Features
34
68
 
35
- **Note:** Version bump only for package @thi.ng/strings
69
+ - add initials() ([5b8476f](https://github.com/thi-ng/umbrella/commit/5b8476f))
36
70
 
71
+ #### ♻️ Refactoring
37
72
 
73
+ - update imports ([138571a](https://github.com/thi-ng/umbrella/commit/138571a))
74
+ - update all tests in _all_ pkgs ([8b582bc](https://github.com/thi-ng/umbrella/commit/8b582bc))
75
+ - update all to use [@thi.ng/testament](https://github.com/thi-ng/umbrella/tree/main/packages/testament)
38
76
 
77
+ ## [2.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@2.1.0) (2021-03-24)
39
78
 
79
+ #### 🚀 Features
40
80
 
41
- # [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)
81
+ - add ruler(), grid() fns, update readme ([d93cbf9](https://github.com/thi-ng/umbrella/commit/d93cbf9))
42
82
 
83
+ #### ♻️ Refactoring
43
84
 
44
- ### Build System
85
+ - update opts default handling ([fc92745](https://github.com/thi-ng/umbrella/commit/fc92745))
86
+ - update wrapWord(), wordWrapLine()
45
87
 
46
- * major update of ALL pkgs (export maps, ESM only) ([0d1d6ea](https://github.com/thi-ng/umbrella/commit/0d1d6ea9fab2a645d6c5f2bf2591459b939c09b6))
88
+ # [2.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@2.0.0) (2021-03-24)
47
89
 
90
+ #### 🛑 Breaking changes
48
91
 
49
- ### Features
92
+ - major update wordWrap() & co. ([9c9c9cc](https://github.com/thi-ng/umbrella/commit/9c9c9cc))
93
+ - BREAKING CHANGE: major update wordWrap(), wordWrapLines() etc.
94
+ - update arguments
95
+ - add `WordWrapOpts` to configure wordwrap behavior
96
+ - add `IWordSplit` interface and `SPLIT_PLAIN`, `SPLIT_ANSI` impls
97
+ - implement hardwrap mode
50
98
 
51
- * **strings:** add initials() ([5b8476f](https://github.com/thi-ng/umbrella/commit/5b8476f28dcfbbc252b11eb68a08f6d47aeca300))
99
+ #### 🚀 Features
52
100
 
101
+ - add ANSI predicates ([928694b](https://github.com/thi-ng/umbrella/commit/928694b))
102
+ - update split() args ([ea503e8](https://github.com/thi-ng/umbrella/commit/ea503e8))
103
+ - allow string delimiters (or regexp)
53
104
 
54
- ### BREAKING CHANGES
105
+ ## [1.15.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.15.0) (2021-02-20)
55
106
 
56
- * discontinue CommonJS & UMD versions
107
+ #### 🚀 Features
57
108
 
58
- - only ESM modules will be published from now on
59
- - CJS obsolete due to ESM support in recent versions of node:
60
- - i.e. launch NodeJS via:
61
- - `node --experimental-specifier-resolution=node --experimental-repl-await`
62
- - in the node REPL use `await import(...)` instead of `require()`
63
- - UMD obsolete due to widespread browser support for ESM
109
+ - add int/intLocale, vector formatters ([ac55fe0](https://github.com/thi-ng/umbrella/commit/ac55fe0))
110
+ - add optional arg for float() for special NaN/Inf handling
64
111
 
65
- Also:
66
- - normalize/restructure/reorg all package.json files
67
- - cleanup all build scripts, remove obsolete
68
- - switch from mocha to @thi.ng/testament for all tests
112
+ #### ♻️ Refactoring
69
113
 
114
+ - 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))
115
+ - update uuid() ([7fe966a](https://github.com/thi-ng/umbrella/commit/7fe966a))
116
+ - re-use fn from [@thi.ng/hex](https://github.com/thi-ng/umbrella/tree/main/packages/hex)
70
117
 
118
+ ## [1.14.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.14.0) (2021-01-13)
71
119
 
120
+ #### 🚀 Features
72
121
 
122
+ - add stringify() HOF ([4ab7e72](https://github.com/thi-ng/umbrella/commit/4ab7e72))
73
123
 
124
+ #### ♻️ Refactoring
74
125
 
75
- # [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)
126
+ - minor update computeCursorPos() ([a593d66](https://github.com/thi-ng/umbrella/commit/a593d66))
127
+ - minor update uuid() ([0a37562](https://github.com/thi-ng/umbrella/commit/0a37562))
76
128
 
77
- ### Features
129
+ ## [1.13.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.13.0) (2021-01-10)
78
130
 
79
- - **strings:** add ruler(), grid() fns, update readme ([d93cbf9](https://github.com/thi-ng/umbrella/commit/d93cbf9708c414e703fde61e80b5762f34899aa4))
131
+ #### 🚀 Features
80
132
 
81
- # [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)
133
+ - add tab conversion fns ([aefdd97](https://github.com/thi-ng/umbrella/commit/aefdd97))
134
+ - add wordWrap*() fns ([2a283c0](https://github.com/thi-ng/umbrella/commit/2a283c0))
135
+ - add stripAnsi(), lengthAnsi() fns ([86fa81a](https://github.com/thi-ng/umbrella/commit/86fa81a))
136
+ - update padLeft/Right() args ([118f97f](https://github.com/thi-ng/umbrella/commit/118f97f))
137
+ - add optional length arg to explicitly specify string length
138
+ (e.g. to exclude ANSI control seq chars)
82
139
 
83
- ### Features
140
+ #### ⏱ Performance improvements
84
141
 
85
- - **strings:** add ANSI predicates ([928694b](https://github.com/thi-ng/umbrella/commit/928694b0a46a7a58b0b4ab56562afceb0b6c8d8d))
86
- - **strings:** major update wordWrap() & co. ([9c9c9cc](https://github.com/thi-ng/umbrella/commit/9c9c9cc1abe68ec32edbe91ac5c277561cafd3c4))
87
- - **strings:** update split() args ([ea503e8](https://github.com/thi-ng/umbrella/commit/ea503e8abdf3598ccd0c1abf5d484164ea73890c))
142
+ - simplify string default delim regexp ([bb62760](https://github.com/thi-ng/umbrella/commit/bb62760))
88
143
 
89
- ### BREAKING CHANGES
144
+ ## [1.12.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.12.0) (2021-01-05)
90
145
 
91
- - **strings:** major update wordWrap(), wordWrapLines() etc.
92
- - update arguments
93
- - add `WordWrapOpts` to configure wordwrap behavior
94
- - add `IWordSplit` interface and `SPLIT_PLAIN`, `SPLIT_ANSI` impls
95
- - implement hardwrap mode
146
+ #### 🚀 Features
96
147
 
97
- # [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)
148
+ - add interpolateKeys() ([bd78d1d](https://github.com/thi-ng/umbrella/commit/bd78d1d))
98
149
 
99
- ### Features
150
+ ### [1.11.4](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.11.4) (2021-01-02)
100
151
 
101
- - **strings:** add int/intLocale, vector formatters ([ac55fe0](https://github.com/thi-ng/umbrella/commit/ac55fe007bed81d04848eddb1c4145eb26cdd437))
152
+ #### 🩹 Bug fixes
102
153
 
103
- # [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)
154
+ - update slugifyGH() replacements ([#174](https://github.com/thi-ng/umbrella/issues/174)) ([98a9135](https://github.com/thi-ng/umbrella/commit/98a9135))
155
+ - hard to find definitive info about GH's slugify rules
156
+ - new rules based on more manual experiments and
157
+ studying of unicode charts
158
+ - likely not a watertight solution, but should fix most issues
159
+ of prev impl
104
160
 
105
- ### Features
161
+ ### [1.11.2](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.11.2) (2020-12-07)
106
162
 
107
- - **strings:** add stringify() HOF ([4ab7e72](https://github.com/thi-ng/umbrella/commit/4ab7e72bf87cbf058a38ca85b5e2853a5f432d9d))
163
+ #### ♻️ Refactoring
108
164
 
109
- # [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)
165
+ - update type-only imports in various tests/pkgs ([3fd9c24](https://github.com/thi-ng/umbrella/commit/3fd9c24))
110
166
 
111
- ### Features
167
+ ## [1.11.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.11.0) (2020-11-24)
112
168
 
113
- - **strings:** add stripAnsi(), lengthAnsi() fns ([86fa81a](https://github.com/thi-ng/umbrella/commit/86fa81acb7dfcf1dc3d6f5600cbf427ee44cf722))
114
- - **strings:** add tab conversion fns ([aefdd97](https://github.com/thi-ng/umbrella/commit/aefdd97e27fce2405860e817b9c5b4aedb6e59e4))
115
- - **strings:** add wordWrap*() fns ([2a283c0](https://github.com/thi-ng/umbrella/commit/2a283c018592d8cc76f4ef83b69c6ce3c378aca6))
116
- - **strings:** update padLeft/Right() args ([118f97f](https://github.com/thi-ng/umbrella/commit/118f97f1fca27671c53d184484a7b435e6eedf88))
169
+ #### 🚀 Features
117
170
 
118
- ### Performance Improvements
171
+ - add split() iterator ([6d2ec4f](https://github.com/thi-ng/umbrella/commit/6d2ec4f))
119
172
 
120
- - **strings:** simplify string default delim regexp ([bb62760](https://github.com/thi-ng/umbrella/commit/bb62760f2069a1f7edeaa09ce0e0639047789af3))
173
+ #### ♻️ Refactoring
121
174
 
122
- # [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)
175
+ - 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))
176
+ - add [@thi.ng/hex](https://github.com/thi-ng/umbrella/tree/main/packages/hex) dependency
177
+ - replace U8/16/24/32/64
178
+ - refactor uuid()
123
179
 
124
- ### Features
180
+ ## [1.10.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.10.0) (2020-09-22)
125
181
 
126
- - **strings:** add interpolateKeys() ([bd78d1d](https://github.com/thi-ng/umbrella/commit/bd78d1dba5e467e6cda452e6db6fcd0fb9a3cf19))
182
+ #### 🚀 Features
127
183
 
128
- ## [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)
184
+ - add BOM const, update pkg meta ([b6751fc](https://github.com/thi-ng/umbrella/commit/b6751fc))
185
+ - add escape(), update unescape(), add tests ([e0d5f1e](https://github.com/thi-ng/umbrella/commit/e0d5f1e))
186
+ - add unescape() ([924466b](https://github.com/thi-ng/umbrella/commit/924466b))
129
187
 
130
- ### Bug Fixes
188
+ ### [1.9.6](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.9.6) (2020-09-13)
131
189
 
132
- - **strings:** update slugifyGH() replacements ([#174](https://github.com/thi-ng/umbrella/issues/174)) ([98a9135](https://github.com/thi-ng/umbrella/commit/98a91351728d730446f9654fc93317c1bece77ed))
190
+ #### ♻️ Refactoring
133
191
 
134
- # [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)
192
+ - update deps, imports, use new Fn types ([3d21571](https://github.com/thi-ng/umbrella/commit/3d21571))
135
193
 
136
- ### Features
194
+ ## [1.9.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.9.0) (2020-07-08)
137
195
 
138
- - **strings:** add split() iterator ([6d2ec4f](https://github.com/thi-ng/umbrella/commit/6d2ec4fccc688acf5a541ea51c9705faca1c9835))
196
+ #### 🚀 Features
139
197
 
140
- # [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)
198
+ - add computeCursorPos() ([c178d00](https://github.com/thi-ng/umbrella/commit/c178d00))
141
199
 
142
- ### Features
200
+ ### [1.8.4](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.8.4) (2020-04-20)
143
201
 
144
- - **strings:** add BOM const, update pkg meta ([b6751fc](https://github.com/thi-ng/umbrella/commit/b6751fc506a28a075ea9fee1a5f6d3520449f5af))
145
- - **strings:** add escape(), update unescape(), add tests ([e0d5f1e](https://github.com/thi-ng/umbrella/commit/e0d5f1edcdf78b075908c4973586a0f1732fe006))
146
- - **strings:** add unescape() ([924466b](https://github.com/thi-ng/umbrella/commit/924466bc5d5f16ced3da95fa2f24dab2bfad0679))
202
+ #### ♻️ Refactoring
147
203
 
148
- # [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)
204
+ - update ALPHA, ALPHA_NUM & WS groups ([719b437](https://github.com/thi-ng/umbrella/commit/719b437))
149
205
 
150
- ### Features
206
+ ## [1.8.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.8.0) (2020-03-28)
151
207
 
152
- - **strings:** add computeCursorPos() ([c178d00](https://github.com/thi-ng/umbrella/commit/c178d00edcdbe12cec492a1629c80bf359116b66))
208
+ #### 🚀 Features
153
209
 
154
- # [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)
210
+ - add trim() HOF ([350a6c6](https://github.com/thi-ng/umbrella/commit/350a6c6))
211
+ - add slugifyGH(), refactor slugify() ([1ef805b](https://github.com/thi-ng/umbrella/commit/1ef805b))
212
+ - add join() HOF ([1c5c46f](https://github.com/thi-ng/umbrella/commit/1c5c46f))
155
213
 
156
- ### Features
214
+ #### ♻️ Refactoring
157
215
 
158
- - **strings:** add join() HOF ([1c5c46f](https://github.com/thi-ng/umbrella/commit/1c5c46f5ac832865266613a6d71024507238b694))
159
- - **strings:** add slugifyGH(), refactor slugify() ([1ef805b](https://github.com/thi-ng/umbrella/commit/1ef805be3f0347751eba6da0122e1277a5b81e21))
160
- - **strings:** add trim() HOF ([350a6c6](https://github.com/thi-ng/umbrella/commit/350a6c6cb010e00f2053fb41eeb0f458ee8fb715))
216
+ - update bits/bytes unit defs ([f9becb1](https://github.com/thi-ng/umbrella/commit/f9becb1))
217
+ - add truncateRight alias ([81fb592](https://github.com/thi-ng/umbrella/commit/81fb592))
161
218
 
162
- # [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)
219
+ ## [1.7.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.7.0) (2020-03-06)
163
220
 
164
- ### Features
221
+ #### 🚀 Features
165
222
 
166
- - **strings:** add char group LUTs for classification ([c3ff006](https://github.com/thi-ng/umbrella/commit/c3ff006b237bece057f675d62a47d29bab9df413))
223
+ - add char group LUTs for classification ([c3ff006](https://github.com/thi-ng/umbrella/commit/c3ff006))
167
224
 
168
- # [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)
225
+ ## [1.6.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.6.0) (2020-03-01)
169
226
 
170
- ### Features
227
+ #### 🚀 Features
171
228
 
172
- - **strings:** add defFormat() HOF ([62f4e04](https://github.com/thi-ng/umbrella/commit/62f4e04c72e8822930da3f337898dae0ea51f6d0))
229
+ - add defFormat() HOF ([62f4e04](https://github.com/thi-ng/umbrella/commit/62f4e04))
173
230
 
174
- # [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)
231
+ ## [1.5.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.5.0) (2020-02-25)
175
232
 
176
- ### Features
233
+ #### 🚀 Features
177
234
 
178
- - **strings:** add uuid() formatter ([4592742](https://github.com/thi-ng/umbrella/commit/4592742daad1020aa336e3d819324f4555223160))
235
+ - add uuid() formatter ([4592742](https://github.com/thi-ng/umbrella/commit/4592742))
179
236
 
180
- # [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)
237
+ #### ♻️ Refactoring
181
238
 
182
- ### Features
239
+ - update imports ([3937dc6](https://github.com/thi-ng/umbrella/commit/3937dc6))
183
240
 
184
- - **strings:** add format() helpers (str, ignore) ([df87b7c](https://github.com/thi-ng/umbrella/commit/df87b7c7f0a1f9fa5b299fe8311fda02f40ab4cd))
185
- - **strings:** add interpolate() ([a19e409](https://github.com/thi-ng/umbrella/commit/a19e4094494a8b4af6c35626e4a99394e0481a4e))
241
+ ## [1.4.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.4.0) (2020-01-26)
186
242
 
187
- # [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)
243
+ #### 🚀 Features
188
244
 
189
- ### Features
245
+ - add interpolate() ([a19e409](https://github.com/thi-ng/umbrella/commit/a19e409))
246
+ - add format() helpers (str, ignore) ([df87b7c](https://github.com/thi-ng/umbrella/commit/df87b7c))
190
247
 
191
- - **strings:** add charRange(), add radix & zero-pad presets ([c9e5a63](https://github.com/thi-ng/umbrella/commit/c9e5a63))
248
+ ## [1.3.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.3.0) (2019-09-21)
192
249
 
193
- # [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)
250
+ #### 🚀 Features
194
251
 
195
- ### Features
252
+ - add charRange(), add radix & zero-pad presets ([c9e5a63](https://github.com/thi-ng/umbrella/commit/c9e5a63))
196
253
 
197
- - **strings:** enable TS strict compiler flags (refactor) ([76cecb8](https://github.com/thi-ng/umbrella/commit/76cecb8))
254
+ ## [1.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.2.0) (2019-07-07)
198
255
 
199
- # [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)
256
+ #### 🚀 Features
200
257
 
201
- ### Features
258
+ - enable TS strict compiler flags (refactor) ([76cecb8](https://github.com/thi-ng/umbrella/commit/76cecb8))
202
259
 
203
- - **strings:** add hstr() (hollerith) ([619e9ef](https://github.com/thi-ng/umbrella/commit/619e9ef))
260
+ #### ♻️ Refactoring
204
261
 
205
- ## [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)
262
+ - address TS strictNullChecks flag ([fb315fe](https://github.com/thi-ng/umbrella/commit/fb315fe))
206
263
 
207
- ### Bug Fixes
264
+ ## [1.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.1.0) (2019-04-15)
208
265
 
209
- - **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))
266
+ #### 🚀 Features
210
267
 
211
- # [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)
268
+ - add hstr() (hollerith) ([619e9ef](https://github.com/thi-ng/umbrella/commit/619e9ef))
212
269
 
213
- ### Build System
270
+ ### [1.0.2](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.0.2) (2019-01-31)
214
271
 
215
- - update package build scripts & outputs, imports in ~50 packages ([b54b703](https://github.com/thi-ng/umbrella/commit/b54b703))
272
+ #### 🩹 Bug fixes
216
273
 
217
- ### Features
274
+ - 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))
218
275
 
219
- - **strings:** add floatFixedWidth(), update float() ([816c9c0](https://github.com/thi-ng/umbrella/commit/816c9c0))
276
+ # [1.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@1.0.0) (2019-01-21)
220
277
 
221
- ### BREAKING CHANGES
278
+ #### 🛑 Breaking changes
222
279
 
223
- - enabled multi-outputs (ES6 modules, CJS, UMD)
224
- - build scripts now first build ES6 modules in package root, then call `scripts/bundle-module` to build minified CJS & UMD bundles in `/lib`
225
- - 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.
280
+ - update package build scripts & outputs, imports in ~50 packages ([b54b703](https://github.com/thi-ng/umbrella/commit/b54b703))
281
+ - BREAKING CHANGE: enabled multi-outputs (ES6 modules, CJS, UMD)
282
+ - build scripts now first build ES6 modules in package root, then call
283
+ `scripts/bundle-module` to build minified CJS & UMD bundles in `/lib`
284
+ - all imports MUST be updated to only refer to package level
285
+ (not individual files anymore). tree shaking in user land will get rid of
286
+ all unused imported symbols.
226
287
 
227
- # [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)
288
+ ## [0.7.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@0.7.0) (2018-12-13)
228
289
 
229
- ### Bug Fixes
290
+ #### 🚀 Features
230
291
 
231
- - **strings:** update kebab() ([1b298f7](https://github.com/thi-ng/umbrella/commit/1b298f7))
292
+ - add slugify() ([8dcc73a](https://github.com/thi-ng/umbrella/commit/8dcc73a))
232
293
 
233
- ### Features
294
+ #### 🩹 Bug fixes
234
295
 
235
- - **strings:** add slugify() ([8dcc73a](https://github.com/thi-ng/umbrella/commit/8dcc73a))
296
+ - update kebab() ([1b298f7](https://github.com/thi-ng/umbrella/commit/1b298f7))
297
+ - fix initial capital handling
298
+ - add (partial) UTF-8 support
299
+ - add note about Safari / FF
236
300
 
237
- # [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)
301
+ ## [0.6.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@0.6.0) (2018-11-08)
238
302
 
239
- ### Features
303
+ #### 🚀 Features
240
304
 
241
- - **strings:** add configurable units() HOF & presets ([33e915b](https://github.com/thi-ng/umbrella/commit/33e915b))
305
+ - add configurable units() HOF & presets ([33e915b](https://github.com/thi-ng/umbrella/commit/33e915b))
306
+ - add presets formatters: seconds(), meters(), grams(), bits(), bytes()
242
307
 
243
- # [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)
308
+ ## [0.5.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@0.5.0) (2018-09-25)
244
309
 
245
- ### Features
310
+ #### 🚀 Features
246
311
 
247
- - **strings:** add splice(), refactor repeat(), add tests ([0cce048](https://github.com/thi-ng/umbrella/commit/0cce048))
312
+ - add splice(), refactor repeat(), add tests ([0cce048](https://github.com/thi-ng/umbrella/commit/0cce048))
248
313
 
249
- ## [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)
314
+ ### [0.4.3](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@0.4.3) (2018-09-25)
250
315
 
251
- ### Bug Fixes
316
+ #### 🩹 Bug fixes
252
317
 
253
- - **strings:** rename number parsers ([8cbfb97](https://github.com/thi-ng/umbrella/commit/8cbfb97))
318
+ - rename number parsers ([8cbfb97](https://github.com/thi-ng/umbrella/commit/8cbfb97))
319
+ - rename to `maybeParseInt` / `maybeParseFloat`
254
320
 
255
- # [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)
321
+ ## [0.3.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@0.3.0) (2018-08-24)
256
322
 
257
- ### Bug Fixes
323
+ #### 🚀 Features
258
324
 
259
- - **strings:** buffer length (for null inputs) (`center()`) ([5209c42](https://github.com/thi-ng/umbrella/commit/5209c42))
325
+ - add case converters ([653a175](https://github.com/thi-ng/umbrella/commit/653a175))
326
+ - camel / kebab / snake
327
+ - add truncateLeft() & wrap() stringers ([1a20bc2](https://github.com/thi-ng/umbrella/commit/1a20bc2))
260
328
 
261
- ### Features
329
+ #### 🩹 Bug fixes
262
330
 
263
- - **strings:** add case converters ([653a175](https://github.com/thi-ng/umbrella/commit/653a175))
264
- - **strings:** add truncateLeft() & wrap() stringers ([1a20bc2](https://github.com/thi-ng/umbrella/commit/1a20bc2))
331
+ - buffer length (for null inputs) (`center()`) ([5209c42](https://github.com/thi-ng/umbrella/commit/5209c42))
332
+ - also truncate oversized inputs
265
333
 
266
- # [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)
334
+ ## [0.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@0.2.0) (2018-08-08)
267
335
 
268
- ### Features
336
+ #### 🚀 Features
269
337
 
270
- - **strings:** add opt prefix arg for radix() ([5864f2c](https://github.com/thi-ng/umbrella/commit/5864f2c))
338
+ - add opt prefix arg for radix() ([5864f2c](https://github.com/thi-ng/umbrella/commit/5864f2c))
271
339
 
272
- ## [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)
340
+ ### [0.1.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@0.1.1) (2018-08-08)
273
341
 
274
- ### Bug Fixes
342
+ #### 🩹 Bug fixes
275
343
 
276
- - **strings:** float type decl ([b2ebbfc](https://github.com/thi-ng/umbrella/commit/b2ebbfc))
344
+ - float type decl ([b2ebbfc](https://github.com/thi-ng/umbrella/commit/b2ebbfc))
277
345
 
278
- # 0.1.0 (2018-08-08)
346
+ ## [0.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/strings@0.1.0) (2018-08-08)
279
347
 
280
- ### Features
348
+ #### 🚀 Features
281
349
 
282
- - **strings:** re-import & update [@thi](https://github.com/thi).ng/strings from MBP2010 ([40781eb](https://github.com/thi-ng/umbrella/commit/40781eb))
350
+ - 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
 
@@ -0,0 +1,52 @@
1
+ (()=>{var Ce=Object.create;var J=Object.defineProperty;var Pe=Object.getOwnPropertyDescriptor;var Oe=Object.getOwnPropertyNames;var Re=Object.getPrototypeOf,_e=Object.prototype.hasOwnProperty;var Me=t=>J(t,"__esModule",{value:!0});var Fe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var De=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Oe(e))!_e.call(t,n)&&n!=="default"&&J(t,n,{get:()=>e[n],enumerable:!(r=Pe(e,n))||r.enumerable});return t},Ae=t=>De(Me(J(t!=null?Ce(Re(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var de=Fe((ue,he)=>{(function(){var t=function(e){var r=new t.Builder;return r.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),r.searchPipeline.add(t.stemmer),e.call(r,r),r.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(r){e.console&&console.warn&&console.warn(r)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var r=Object.create(null),n=Object.keys(e),i=0;i<n.length;i++){var s=n[i],o=e[s];if(Array.isArray(o)){r[s]=o.slice();continue}if(typeof o=="string"||typeof o=="number"||typeof o=="boolean"){r[s]=o;continue}throw new TypeError("clone is not deep and does not support nested objects")}return r},t.FieldRef=function(e,r,n){this.docRef=e,this.fieldName=r,this._stringValue=n},t.FieldRef.joiner="/",t.FieldRef.fromString=function(e){var r=e.indexOf(t.FieldRef.joiner);if(r===-1)throw"malformed field ref string";var n=e.slice(0,r),i=e.slice(r+1);return new t.FieldRef(i,n,e)},t.FieldRef.prototype.toString=function(){return this._stringValue==null&&(this._stringValue=this.fieldName+t.FieldRef.joiner+this.docRef),this._stringValue};t.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var r=0;r<this.length;r++)this.elements[e[r]]=!0}else this.length=0},t.Set.complete={intersect:function(e){return e},union:function(){return this},contains:function(){return!0}},t.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},t.Set.prototype.contains=function(e){return!!this.elements[e]},t.Set.prototype.intersect=function(e){var r,n,i,s=[];if(e===t.Set.complete)return this;if(e===t.Set.empty)return e;this.length<e.length?(r=this,n=e):(r=e,n=this),i=Object.keys(r.elements);for(var o=0;o<i.length;o++){var a=i[o];a in n.elements&&s.push(a)}return new t.Set(s)},t.Set.prototype.union=function(e){return e===t.Set.complete?t.Set.complete:e===t.Set.empty?this:new t.Set(Object.keys(this.elements).concat(Object.keys(e.elements)))},t.idf=function(e,r){var n=0;for(var i in e)i!="_index"&&(n+=Object.keys(e[i]).length);var s=(r-n+.5)/(n+.5);return Math.log(1+Math.abs(s))},t.Token=function(e,r){this.str=e||"",this.metadata=r||{}},t.Token.prototype.toString=function(){return this.str},t.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},t.Token.prototype.clone=function(e){return e=e||function(r){return r},new t.Token(e(this.str,this.metadata),this.metadata)};t.tokenizer=function(e,r){if(e==null||e==null)return[];if(Array.isArray(e))return e.map(function(f){return new t.Token(t.utils.asString(f).toLowerCase(),t.utils.clone(r))});for(var n=e.toString().toLowerCase(),i=n.length,s=[],o=0,a=0;o<=i;o++){var c=n.charAt(o),l=o-a;if(c.match(t.tokenizer.separator)||o==i){if(l>0){var h=t.utils.clone(r)||{};h.position=[a,l],h.index=s.length,s.push(new t.Token(n.slice(a,o),h))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,r){r in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+r),e.label=r,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var r=e.label&&e.label in this.registeredFunctions;r||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index.
2
+ `,e)},t.Pipeline.load=function(e){var r=new t.Pipeline;return e.forEach(function(n){var i=t.Pipeline.registeredFunctions[n];if(i)r.add(i);else throw new Error("Cannot load unregistered function: "+n)}),r},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(r){t.Pipeline.warnIfFunctionNotRegistered(r),this._stack.push(r)},this)},t.Pipeline.prototype.after=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");n=n+1,this._stack.splice(n,0,r)},t.Pipeline.prototype.before=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");this._stack.splice(n,0,r)},t.Pipeline.prototype.remove=function(e){var r=this._stack.indexOf(e);r!=-1&&this._stack.splice(r,1)},t.Pipeline.prototype.run=function(e){for(var r=this._stack.length,n=0;n<r;n++){for(var i=this._stack[n],s=[],o=0;o<e.length;o++){var a=i(e[o],o,e);if(!(a==null||a===""))if(Array.isArray(a))for(var c=0;c<a.length;c++)s.push(a[c]);else s.push(a)}e=s}return e},t.Pipeline.prototype.runString=function(e,r){var n=new t.Token(e,r);return this.run([n]).map(function(i){return i.toString()})},t.Pipeline.prototype.reset=function(){this._stack=[]},t.Pipeline.prototype.toJSON=function(){return this._stack.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})};t.Vector=function(e){this._magnitude=0,this.elements=e||[]},t.Vector.prototype.positionForIndex=function(e){if(this.elements.length==0)return 0;for(var r=0,n=this.elements.length/2,i=n-r,s=Math.floor(i/2),o=this.elements[s*2];i>1&&(o<e&&(r=s),o>e&&(n=s),o!=e);)i=n-r,s=r+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(o<e)return(s+1)*2},t.Vector.prototype.insert=function(e,r){this.upsert(e,r,function(){throw"duplicate index"})},t.Vector.prototype.upsert=function(e,r,n){this._magnitude=0;var i=this.positionForIndex(e);this.elements[i]==e?this.elements[i+1]=n(this.elements[i+1],r):this.elements.splice(i,0,e,r)},t.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,r=this.elements.length,n=1;n<r;n+=2){var i=this.elements[n];e+=i*i}return this._magnitude=Math.sqrt(e)},t.Vector.prototype.dot=function(e){for(var r=0,n=this.elements,i=e.elements,s=n.length,o=i.length,a=0,c=0,l=0,h=0;l<s&&h<o;)a=n[l],c=i[h],a<c?l+=2:a>c?h+=2:a==c&&(r+=n[l+1]*i[h+1],l+=2,h+=2);return r},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),r=1,n=0;r<this.elements.length;r+=2,n++)e[n]=this.elements[r];return e},t.Vector.prototype.toJSON=function(){return this.elements};t.stemmer=function(){var e={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},r={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},n="[^aeiou]",i="[aeiouy]",s=n+"[^aeiouy]*",o=i+"[aeiou]*",a="^("+s+")?"+o+s,c="^("+s+")?"+o+s+"("+o+")?$",l="^("+s+")?"+o+s+o+s,h="^("+s+")?"+i,f=new RegExp(a),v=new RegExp(l),b=new RegExp(c),y=new RegExp(h),E=/^(.+?)(ss|i)es$/,p=/^(.+?)([^s])s$/,m=/^(.+?)eed$/,T=/^(.+?)(ed|ing)$/,w=/.$/,k=/(at|bl|iz)$/,M=new RegExp("([^aeiouylsz])\\1$"),j=new RegExp("^"+s+i+"[^aeiouwxy]$"),V=/^(.+?[^aeiou])y$/,B=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,q=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,H=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,$=/^(.+?)(s|t)(ion)$/,P=/^(.+?)e$/,W=/ll$/,U=new RegExp("^"+s+i+"[^aeiouwxy]$"),z=function(u){var g,O,S,d,x,R,D;if(u.length<3)return u;if(S=u.substr(0,1),S=="y"&&(u=S.toUpperCase()+u.substr(1)),d=E,x=p,d.test(u)?u=u.replace(d,"$1$2"):x.test(u)&&(u=u.replace(x,"$1$2")),d=m,x=T,d.test(u)){var L=d.exec(u);d=f,d.test(L[1])&&(d=w,u=u.replace(d,""))}else if(x.test(u)){var L=x.exec(u);g=L[1],x=y,x.test(g)&&(u=g,x=k,R=M,D=j,x.test(u)?u=u+"e":R.test(u)?(d=w,u=u.replace(d,"")):D.test(u)&&(u=u+"e"))}if(d=V,d.test(u)){var L=d.exec(u);g=L[1],u=g+"i"}if(d=B,d.test(u)){var L=d.exec(u);g=L[1],O=L[2],d=f,d.test(g)&&(u=g+e[O])}if(d=q,d.test(u)){var L=d.exec(u);g=L[1],O=L[2],d=f,d.test(g)&&(u=g+r[O])}if(d=H,x=$,d.test(u)){var L=d.exec(u);g=L[1],d=v,d.test(g)&&(u=g)}else if(x.test(u)){var L=x.exec(u);g=L[1]+L[2],x=v,x.test(g)&&(u=g)}if(d=P,d.test(u)){var L=d.exec(u);g=L[1],d=v,x=b,R=U,(d.test(g)||x.test(g)&&!R.test(g))&&(u=g)}return d=W,x=v,d.test(u)&&x.test(u)&&(d=w,u=u.replace(d,"")),S=="y"&&(u=S.toLowerCase()+u.substr(1)),u};return function(F){return F.update(z)}}(),t.Pipeline.registerFunction(t.stemmer,"stemmer");t.generateStopWordFilter=function(e){var r=e.reduce(function(n,i){return n[i]=i,n},{});return function(n){if(n&&r[n.toString()]!==n.toString())return n}},t.stopWordFilter=t.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),t.Pipeline.registerFunction(t.stopWordFilter,"stopWordFilter");t.trimmer=function(e){return e.update(function(r){return r.replace(/^\W+/,"").replace(/\W+$/,"")})},t.Pipeline.registerFunction(t.trimmer,"trimmer");t.TokenSet=function(){this.final=!1,this.edges={},this.id=t.TokenSet._nextId,t.TokenSet._nextId+=1},t.TokenSet._nextId=1,t.TokenSet.fromArray=function(e){for(var r=new t.TokenSet.Builder,n=0,i=e.length;n<i;n++)r.insert(e[n]);return r.finish(),r.root},t.TokenSet.fromClause=function(e){return"editDistance"in e?t.TokenSet.fromFuzzyString(e.term,e.editDistance):t.TokenSet.fromString(e.term)},t.TokenSet.fromFuzzyString=function(e,r){for(var n=new t.TokenSet,i=[{node:n,editsRemaining:r,str:e}];i.length;){var s=i.pop();if(s.str.length>0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var c=s.node.edges["*"];else{var c=new t.TokenSet;s.node.edges["*"]=c}if(s.str.length==0&&(c.final=!0),i.push({node:c,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}s.str.length==1&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var h=s.str.charAt(0),f=s.str.charAt(1),v;f in s.node.edges?v=s.node.edges[f]:(v=new t.TokenSet,s.node.edges[f]=v),s.str.length==1&&(v.final=!0),i.push({node:v,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return n},t.TokenSet.fromString=function(e){for(var r=new t.TokenSet,n=r,i=0,s=e.length;i<s;i++){var o=e[i],a=i==s-1;if(o=="*")r.edges[o]=r,r.final=a;else{var c=new t.TokenSet;c.final=a,r.edges[o]=c,r=c}}return n},t.TokenSet.prototype.toArray=function(){for(var e=[],r=[{prefix:"",node:this}];r.length;){var n=r.pop(),i=Object.keys(n.node.edges),s=i.length;n.node.final&&(n.prefix.charAt(0),e.push(n.prefix));for(var o=0;o<s;o++){var a=i[o];r.push({prefix:n.prefix.concat(a),node:n.node.edges[a]})}}return e},t.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this.final?"1":"0",r=Object.keys(this.edges).sort(),n=r.length,i=0;i<n;i++){var s=r[i],o=this.edges[s];e=e+s+o.id}return e},t.TokenSet.prototype.intersect=function(e){for(var r=new t.TokenSet,n=void 0,i=[{qNode:e,output:r,node:this}];i.length;){n=i.pop();for(var s=Object.keys(n.qNode.edges),o=s.length,a=Object.keys(n.node.edges),c=a.length,l=0;l<o;l++)for(var h=s[l],f=0;f<c;f++){var v=a[f];if(v==h||h=="*"){var b=n.node.edges[v],y=n.qNode.edges[h],E=b.final&&y.final,p=void 0;v in n.output.edges?(p=n.output.edges[v],p.final=p.final||E):(p=new t.TokenSet,p.final=E,n.output.edges[v]=p),i.push({qNode:y,output:p,node:b})}}}return r},t.TokenSet.Builder=function(){this.previousWord="",this.root=new t.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},t.TokenSet.Builder.prototype.insert=function(e){var r,n=0;if(e<this.previousWord)throw new Error("Out of order word insertion");for(var i=0;i<e.length&&i<this.previousWord.length&&e[i]==this.previousWord[i];i++)n++;this.minimize(n),this.uncheckedNodes.length==0?r=this.root:r=this.uncheckedNodes[this.uncheckedNodes.length-1].child;for(var i=n;i<e.length;i++){var s=new t.TokenSet,o=e[i];r.edges[o]=s,this.uncheckedNodes.push({parent:r,char:o,child:s}),r=s}r.final=!0,this.previousWord=e},t.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},t.TokenSet.Builder.prototype.minimize=function(e){for(var r=this.uncheckedNodes.length-1;r>=e;r--){var n=this.uncheckedNodes[r],i=n.child.toString();i in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[i]:(n.child._str=i,this.minimizedNodes[i]=n.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(r){var n=new t.QueryParser(e,r);n.parse()})},t.Index.prototype.query=function(e){for(var r=new t.Query(this.fields),n=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),c=0;c<this.fields.length;c++)i[this.fields[c]]=new t.Vector;e.call(r,r);for(var c=0;c<r.clauses.length;c++){var l=r.clauses[c],h=null,f=t.Set.empty;l.usePipeline?h=this.pipeline.runString(l.term,{fields:l.fields}):h=[l.term];for(var v=0;v<h.length;v++){var b=h[v];l.term=b;var y=t.TokenSet.fromClause(l),E=this.tokenSet.intersect(y).toArray();if(E.length===0&&l.presence===t.Query.presence.REQUIRED){for(var p=0;p<l.fields.length;p++){var m=l.fields[p];o[m]=t.Set.empty}break}for(var T=0;T<E.length;T++)for(var w=E[T],k=this.invertedIndex[w],M=k._index,p=0;p<l.fields.length;p++){var m=l.fields[p],j=k[m],V=Object.keys(j),B=w+"/"+m,q=new t.Set(V);if(l.presence==t.Query.presence.REQUIRED&&(f=f.union(q),o[m]===void 0&&(o[m]=t.Set.complete)),l.presence==t.Query.presence.PROHIBITED){a[m]===void 0&&(a[m]=t.Set.empty),a[m]=a[m].union(q);continue}if(i[m].upsert(M,l.boost,function(Qe,Ie){return Qe+Ie}),!s[B]){for(var H=0;H<V.length;H++){var $=V[H],P=new t.FieldRef($,m),W=j[$],U;(U=n[P])===void 0?n[P]=new t.MatchData(w,m,W):U.add(w,m,W)}s[B]=!0}}}if(l.presence===t.Query.presence.REQUIRED)for(var p=0;p<l.fields.length;p++){var m=l.fields[p];o[m]=o[m].intersect(f)}}for(var z=t.Set.complete,F=t.Set.empty,c=0;c<this.fields.length;c++){var m=this.fields[c];o[m]&&(z=z.intersect(o[m])),a[m]&&(F=F.union(a[m]))}var u=Object.keys(n),g=[],O=Object.create(null);if(r.isNegated()){u=Object.keys(this.fieldVectors);for(var c=0;c<u.length;c++){var P=u[c],S=t.FieldRef.fromString(P);n[P]=new t.MatchData}}for(var c=0;c<u.length;c++){var S=t.FieldRef.fromString(u[c]),d=S.docRef;if(!!z.contains(d)&&!F.contains(d)){var x=this.fieldVectors[S],R=i[S.fieldName].similarity(x),D;if((D=O[d])!==void 0)D.score+=R,D.matchData.combine(n[S]);else{var L={ref:d,score:R,matchData:n[S]};O[d]=L,g.push(L)}}}return g.sort(function(Se,ke){return ke.score-Se.score})},t.Index.prototype.toJSON=function(){var e=Object.keys(this.invertedIndex).sort().map(function(n){return[n,this.invertedIndex[n]]},this),r=Object.keys(this.fieldVectors).map(function(n){return[n,this.fieldVectors[n].toJSON()]},this);return{version:t.version,fields:this.fields,fieldVectors:r,invertedIndex:e,pipeline:this.pipeline.toJSON()}},t.Index.load=function(e){var r={},n={},i=e.fieldVectors,s=Object.create(null),o=e.invertedIndex,a=new t.TokenSet.Builder,c=t.Pipeline.load(e.pipeline);e.version!=t.version&&t.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+t.version+"' does not match serialized index '"+e.version+"'");for(var l=0;l<i.length;l++){var h=i[l],f=h[0],v=h[1];n[f]=new t.Vector(v)}for(var l=0;l<o.length;l++){var h=o[l],b=h[0],y=h[1];a.insert(b),s[b]=y}return a.finish(),r.fields=e.fields,r.fieldVectors=n,r.invertedIndex=s,r.tokenSet=a.root,r.pipeline=c,new t.Index(r)};t.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=t.tokenizer,this.pipeline=new t.Pipeline,this.searchPipeline=new t.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},t.Builder.prototype.ref=function(e){this._ref=e},t.Builder.prototype.field=function(e,r){if(/\//.test(e))throw new RangeError("Field '"+e+"' contains illegal character '/'");this._fields[e]=r||{}},t.Builder.prototype.b=function(e){e<0?this._b=0:e>1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,r){var n=e[this._ref],i=Object.keys(this._fields);this._documents[n]=r||{},this.documentCount+=1;for(var s=0;s<i.length;s++){var o=i[s],a=this._fields[o].extractor,c=a?a(e):e[o],l=this.tokenizer(c,{fields:[o]}),h=this.pipeline.run(l),f=new t.FieldRef(n,o),v=Object.create(null);this.fieldTermFrequencies[f]=v,this.fieldLengths[f]=0,this.fieldLengths[f]+=h.length;for(var b=0;b<h.length;b++){var y=h[b];if(v[y]==null&&(v[y]=0),v[y]+=1,this.invertedIndex[y]==null){var E=Object.create(null);E._index=this.termIndex,this.termIndex+=1;for(var p=0;p<i.length;p++)E[i[p]]=Object.create(null);this.invertedIndex[y]=E}this.invertedIndex[y][o][n]==null&&(this.invertedIndex[y][o][n]=Object.create(null));for(var m=0;m<this.metadataWhitelist.length;m++){var T=this.metadataWhitelist[m],w=y.metadata[T];this.invertedIndex[y][o][n][T]==null&&(this.invertedIndex[y][o][n][T]=[]),this.invertedIndex[y][o][n][T].push(w)}}}},t.Builder.prototype.calculateAverageFieldLengths=function(){for(var e=Object.keys(this.fieldLengths),r=e.length,n={},i={},s=0;s<r;s++){var o=t.FieldRef.fromString(e[s]),a=o.fieldName;i[a]||(i[a]=0),i[a]+=1,n[a]||(n[a]=0),n[a]+=this.fieldLengths[o]}for(var c=Object.keys(this._fields),s=0;s<c.length;s++){var l=c[s];n[l]=n[l]/i[l]}this.averageFieldLength=n},t.Builder.prototype.createFieldVectors=function(){for(var e={},r=Object.keys(this.fieldTermFrequencies),n=r.length,i=Object.create(null),s=0;s<n;s++){for(var o=t.FieldRef.fromString(r[s]),a=o.fieldName,c=this.fieldLengths[o],l=new t.Vector,h=this.fieldTermFrequencies[o],f=Object.keys(h),v=f.length,b=this._fields[a].boost||1,y=this._documents[o.docRef].boost||1,E=0;E<v;E++){var p=f[E],m=h[p],T=this.invertedIndex[p]._index,w,k,M;i[p]===void 0?(w=t.idf(this.invertedIndex[p],this.documentCount),i[p]=w):w=i[p],k=w*((this._k1+1)*m)/(this._k1*(1-this._b+this._b*(c/this.averageFieldLength[a]))+m),k*=b,k*=y,M=Math.round(k*1e3)/1e3,l.insert(T,M)}e[o]=l}this.fieldVectors=e},t.Builder.prototype.createTokenSet=function(){this.tokenSet=t.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},t.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new t.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},t.Builder.prototype.use=function(e){var r=Array.prototype.slice.call(arguments,1);r.unshift(this),e.apply(this,r)},t.MatchData=function(e,r,n){for(var i=Object.create(null),s=Object.keys(n||{}),o=0;o<s.length;o++){var a=s[o];i[a]=n[a].slice()}this.metadata=Object.create(null),e!==void 0&&(this.metadata[e]=Object.create(null),this.metadata[e][r]=i)},t.MatchData.prototype.combine=function(e){for(var r=Object.keys(e.metadata),n=0;n<r.length;n++){var i=r[n],s=Object.keys(e.metadata[i]);this.metadata[i]==null&&(this.metadata[i]=Object.create(null));for(var o=0;o<s.length;o++){var a=s[o],c=Object.keys(e.metadata[i][a]);this.metadata[i][a]==null&&(this.metadata[i][a]=Object.create(null));for(var l=0;l<c.length;l++){var h=c[l];this.metadata[i][a][h]==null?this.metadata[i][a][h]=e.metadata[i][a][h]:this.metadata[i][a][h]=this.metadata[i][a][h].concat(e.metadata[i][a][h])}}}},t.MatchData.prototype.add=function(e,r,n){if(!(e in this.metadata)){this.metadata[e]=Object.create(null),this.metadata[e][r]=n;return}if(!(r in this.metadata[e])){this.metadata[e][r]=n;return}for(var i=Object.keys(n),s=0;s<i.length;s++){var o=i[s];o in this.metadata[e][r]?this.metadata[e][r][o]=this.metadata[e][r][o].concat(n[o]):this.metadata[e][r][o]=n[o]}},t.Query=function(e){this.clauses=[],this.allFields=e},t.Query.wildcard=new String("*"),t.Query.wildcard.NONE=0,t.Query.wildcard.LEADING=1,t.Query.wildcard.TRAILING=2,t.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},t.Query.prototype.clause=function(e){return"fields"in e||(e.fields=this.allFields),"boost"in e||(e.boost=1),"usePipeline"in e||(e.usePipeline=!0),"wildcard"in e||(e.wildcard=t.Query.wildcard.NONE),e.wildcard&t.Query.wildcard.LEADING&&e.term.charAt(0)!=t.Query.wildcard&&(e.term="*"+e.term),e.wildcard&t.Query.wildcard.TRAILING&&e.term.slice(-1)!=t.Query.wildcard&&(e.term=""+e.term+"*"),"presence"in e||(e.presence=t.Query.presence.OPTIONAL),this.clauses.push(e),this},t.Query.prototype.isNegated=function(){for(var e=0;e<this.clauses.length;e++)if(this.clauses[e].presence!=t.Query.presence.PROHIBITED)return!1;return!0},t.Query.prototype.term=function(e,r){if(Array.isArray(e))return e.forEach(function(i){this.term(i,t.utils.clone(r))},this),this;var n=r||{};return n.term=e.toString(),this.clause(n),this},t.QueryParseError=function(e,r,n){this.name="QueryParseError",this.message=e,this.start=r,this.end=n},t.QueryParseError.prototype=new Error,t.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},t.QueryLexer.prototype.run=function(){for(var e=t.QueryLexer.lexText;e;)e=e(this)},t.QueryLexer.prototype.sliceString=function(){for(var e=[],r=this.start,n=this.pos,i=0;i<this.escapeCharPositions.length;i++)n=this.escapeCharPositions[i],e.push(this.str.slice(r,n)),r=n+1;return e.push(this.str.slice(r,this.pos)),this.escapeCharPositions.length=0,e.join("")},t.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},t.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},t.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,r;do e=this.next(),r=e.charCodeAt(0);while(r>47&&r<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos<this.length},t.QueryLexer.EOS="EOS",t.QueryLexer.FIELD="FIELD",t.QueryLexer.TERM="TERM",t.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",t.QueryLexer.BOOST="BOOST",t.QueryLexer.PRESENCE="PRESENCE",t.QueryLexer.lexField=function(e){return e.backup(),e.emit(t.QueryLexer.FIELD),e.ignore(),t.QueryLexer.lexText},t.QueryLexer.lexTerm=function(e){if(e.width()>1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var r=e.next();if(r==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(r.charCodeAt(0)==92){e.escapeCharacter();continue}if(r==":")return t.QueryLexer.lexField;if(r=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(r=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(r=="+"&&e.width()===1||r=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(r.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,r){this.lexer=new t.QueryLexer(e),this.query=r,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var r=e.peekLexeme();if(r!=null)switch(r.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(n+=" with value '"+r.str+"'"),new t.QueryParseError(n,r.start,r.end)}},t.QueryParser.parsePresence=function(e){var r=e.consumeLexeme();if(r!=null){switch(r.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+r.str+"'";throw new t.QueryParseError(n,r.start,r.end)}var i=e.peekLexeme();if(i==null){var n="expecting term or field, found nothing";throw new t.QueryParseError(n,r.start,r.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(n,i.start,i.end)}}},t.QueryParser.parseField=function(e){var r=e.consumeLexeme();if(r!=null){if(e.query.allFields.indexOf(r.str)==-1){var n=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+r.str+"', possible fields: "+n;throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.fields=[r.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,r.start,r.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var r=e.consumeLexeme();if(r!=null){e.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(n==null){e.nextClause();return}switch(n.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+n.type+"'";throw new t.QueryParseError(i,n.start,n.end)}}},t.QueryParser.parseEditDistance=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="edit distance must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.editDistance=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="boost must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.boost=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,r){typeof define=="function"&&define.amd?define(r):typeof ue=="object"?he.exports=r():e.lunr=r()}(this,function(){return t})})()});var le=[];function N(t,e){le.push({selector:e,constructor:t})}var X=class{constructor(){this.createComponents(document.body)}createComponents(e){le.forEach(r=>{e.querySelectorAll(r.selector).forEach(n=>{n.dataset.hasInstance||(new r.constructor({el:n}),n.dataset.hasInstance=String(!0))})})}};var Q=class{constructor(e){this.el=e.el}};var Z=class{constructor(){this.listeners={}}addEventListener(e,r){e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push(r)}removeEventListener(e,r){if(!(e in this.listeners))return;let n=this.listeners[e];for(let i=0,s=n.length;i<s;i++)if(n[i]===r){n.splice(i,1);return}}dispatchEvent(e){if(!(e.type in this.listeners))return!0;let r=this.listeners[e.type].slice();for(let n=0,i=r.length;n<i;n++)r[n].call(this,e);return!e.defaultPrevented}};var K=(t,e=100)=>{let r=Date.now();return(...n)=>{r+e-Date.now()<0&&(t(...n),r=Date.now())}};var ee=class extends Z{constructor(){super();this.scrollTop=0;this.lastY=0;this.width=0;this.height=0;this.showToolbar=!0;this.toolbar=document.querySelector(".tsd-page-toolbar"),this.secondaryNav=document.querySelector(".tsd-navigation.secondary"),window.addEventListener("scroll",K(()=>this.onScroll(),10)),window.addEventListener("resize",K(()=>this.onResize(),10)),this.onResize(),this.onScroll()}triggerResize(){let e=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(e)}onResize(){this.width=window.innerWidth||0,this.height=window.innerHeight||0;let e=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(e)}onScroll(){this.scrollTop=window.scrollY||0;let e=new CustomEvent("scroll",{detail:{scrollTop:this.scrollTop}});this.dispatchEvent(e),this.hideShowToolbar()}hideShowToolbar(){var r;let e=this.showToolbar;this.showToolbar=this.lastY>=this.scrollTop||this.scrollTop<=0,e!==this.showToolbar&&(this.toolbar.classList.toggle("tsd-page-toolbar--hide"),(r=this.secondaryNav)==null||r.classList.toggle("tsd-navigation--toolbar-hide")),this.lastY=this.scrollTop}},I=ee;I.instance=new ee;var te=class extends Q{constructor(e){super(e);this.anchors=[];this.index=-1;I.instance.addEventListener("resize",()=>this.onResize()),I.instance.addEventListener("scroll",r=>this.onScroll(r)),this.createAnchors()}createAnchors(){let e=window.location.href;e.indexOf("#")!=-1&&(e=e.substr(0,e.indexOf("#"))),this.el.querySelectorAll("a").forEach(r=>{let n=r.href;if(n.indexOf("#")==-1||n.substr(0,e.length)!=e)return;let i=n.substr(n.indexOf("#")+1),s=document.querySelector("a.tsd-anchor[name="+i+"]"),o=r.parentNode;!s||!o||this.anchors.push({link:o,anchor:s,position:0})}),this.onResize()}onResize(){let e;for(let n=0,i=this.anchors.length;n<i;n++){e=this.anchors[n];let s=e.anchor.getBoundingClientRect();e.position=s.top+document.body.scrollTop}this.anchors.sort((n,i)=>n.position-i.position);let r=new CustomEvent("scroll",{detail:{scrollTop:I.instance.scrollTop}});this.onScroll(r)}onScroll(e){let r=e.detail.scrollTop+5,n=this.anchors,i=n.length-1,s=this.index;for(;s>-1&&n[s].position>r;)s-=1;for(;s<i&&n[s+1].position<r;)s+=1;this.index!=s&&(this.index>-1&&this.anchors[this.index].link.classList.remove("focus"),this.index=s,this.index>-1&&this.anchors[this.index].link.classList.add("focus"))}};var ce=(t,e=100)=>{let r;return(...n)=>{clearTimeout(r),r=setTimeout(()=>t(n),e)}};var pe=Ae(de());function fe(){let t=document.getElementById("tsd-search");if(!t)return;let e=document.getElementById("search-script");t.classList.add("loading"),e&&(e.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),e.addEventListener("load",()=>{t.classList.remove("loading"),t.classList.add("ready")}),window.searchData&&t.classList.remove("loading"));let r=document.querySelector("#tsd-search input"),n=document.querySelector("#tsd-search .results");if(!r||!n)throw new Error("The input field or the result list wrapper was not found");let i=!1;n.addEventListener("mousedown",()=>i=!0),n.addEventListener("mouseup",()=>{i=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{i||(i=!1,t.classList.remove("has-focus"))});let s={base:t.dataset.base+"/"};Ve(t,n,r,s)}function Ve(t,e,r,n){r.addEventListener("input",ce(()=>{ze(t,e,r,n)},200));let i=!1;r.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Ne(e,r):s.key=="Escape"?r.blur():s.key=="ArrowUp"?me(e,-1):s.key==="ArrowDown"?me(e,1):i=!1}),r.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!r.matches(":focus")&&s.key==="/"&&(r.focus(),s.preventDefault())})}function He(t,e){t.index||window.searchData&&(e.classList.remove("loading"),e.classList.add("ready"),t.data=window.searchData,t.index=pe.Index.load(window.searchData.index))}function ze(t,e,r,n){if(He(n,t),!n.index||!n.data)return;e.textContent="";let i=r.value.trim(),s=n.index.search(`*${i}*`);for(let o=0,a=Math.min(10,s.length);o<a;o++){let c=n.data.rows[Number(s[o].ref)],l=ve(c.name,i);c.parent&&(l=`<span class="parent">${ve(c.parent,i)}.</span>${l}`);let h=document.createElement("li");h.classList.value=c.classes;let f=document.createElement("a");f.href=n.base+c.url,f.classList.add("tsd-kind-icon"),f.innerHTML=l,h.append(f),e.appendChild(h)}}function me(t,e){let r=t.querySelector(".current");if(!r)r=t.querySelector(e==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let n=r;if(e===1)do n=n.nextElementSibling;while(n instanceof HTMLElement&&n.offsetParent==null);else do n=n.previousElementSibling;while(n instanceof HTMLElement&&n.offsetParent==null);n&&(r.classList.remove("current"),n.classList.add("current"))}}function Ne(t,e){let r=t.querySelector(".current");if(r||(r=t.querySelector("li:first-child")),r){let n=r.querySelector("a");n&&(window.location.href=n.href),e.blur()}}function ve(t,e){if(e==="")return t;let r=t.toLocaleLowerCase(),n=e.toLocaleLowerCase(),i=[],s=0,o=r.indexOf(n);for(;o!=-1;)i.push(re(t.substring(s,o)),`<b>${re(t.substring(o,o+n.length))}</b>`),s=o+n.length,o=r.indexOf(n,s);return i.push(re(t.substring(s))),i.join("")}var je={"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#039;",'"':"&quot;"};function re(t){return t.replace(/[&<>"'"]/g,e=>je[e])}var ge=class{constructor(e,r){this.signature=e,this.description=r}addClass(e){return this.signature.classList.add(e),this.description.classList.add(e),this}removeClass(e){return this.signature.classList.remove(e),this.description.classList.remove(e),this}},ne=class extends Q{constructor(e){super(e);this.groups=[];this.index=-1;this.createGroups(),this.container&&(this.el.classList.add("active"),Array.from(this.el.children).forEach(r=>{r.addEventListener("touchstart",n=>this.onClick(n)),r.addEventListener("click",n=>this.onClick(n))}),this.container.classList.add("active"),this.setIndex(0))}setIndex(e){if(e<0&&(e=0),e>this.groups.length-1&&(e=this.groups.length-1),this.index==e)return;let r=this.groups[e];if(this.index>-1){let n=this.groups[this.index];n.removeClass("current").addClass("fade-out"),r.addClass("current"),r.addClass("fade-in"),I.instance.triggerResize(),setTimeout(()=>{n.removeClass("fade-out"),r.removeClass("fade-in")},300)}else r.addClass("current"),I.instance.triggerResize();this.index=e}createGroups(){let e=this.el.children;if(e.length<2)return;this.container=this.el.nextElementSibling;let r=this.container.children;this.groups=[];for(let n=0;n<e.length;n++)this.groups.push(new ge(e[n],r[n]))}onClick(e){this.groups.forEach((r,n)=>{r.signature===e.currentTarget&&this.setIndex(n)})}};var C="mousedown",ye="mousemove",_="mouseup",G={x:0,y:0},xe=!1,ie=!1,Be=!1,A=!1,Le=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(Le?"is-mobile":"not-mobile");Le&&"ontouchstart"in document.documentElement&&(Be=!0,C="touchstart",ye="touchmove",_="touchend");document.addEventListener(C,t=>{ie=!0,A=!1;let e=C=="touchstart"?t.targetTouches[0]:t;G.y=e.pageY||0,G.x=e.pageX||0});document.addEventListener(ye,t=>{if(!!ie&&!A){let e=C=="touchstart"?t.targetTouches[0]:t,r=G.x-(e.pageX||0),n=G.y-(e.pageY||0);A=Math.sqrt(r*r+n*n)>10}});document.addEventListener(_,()=>{ie=!1});document.addEventListener("click",t=>{xe&&(t.preventDefault(),t.stopImmediatePropagation(),xe=!1)});var se=class extends Q{constructor(e){super(e);this.className=this.el.dataset.toggle||"",this.el.addEventListener(_,r=>this.onPointerUp(r)),this.el.addEventListener("click",r=>r.preventDefault()),document.addEventListener(C,r=>this.onDocumentPointerDown(r)),document.addEventListener(_,r=>this.onDocumentPointerUp(r))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let r=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(r),setTimeout(()=>document.documentElement.classList.remove(r),500)}onPointerUp(e){A||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-menu, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!A&&this.active&&e.target.closest(".col-menu")){let r=e.target.closest("a");if(r){let n=window.location.href;n.indexOf("#")!=-1&&(n=n.substr(0,n.indexOf("#"))),r.href.substr(0,n.length)==n&&setTimeout(()=>this.setActive(!1),250)}}}};var oe=class{constructor(e,r){this.key=e,this.value=r,this.defaultValue=r,this.initialize(),window.localStorage[this.key]&&this.setValue(this.fromLocalStorage(window.localStorage[this.key]))}initialize(){}setValue(e){if(this.value==e)return;let r=this.value;this.value=e,window.localStorage[this.key]=this.toLocalStorage(e),this.handleValueChange(r,e)}},ae=class extends oe{initialize(){let e=document.querySelector("#tsd-filter-"+this.key);!e||(this.checkbox=e,this.checkbox.addEventListener("change",()=>{this.setValue(this.checkbox.checked)}))}handleValueChange(e,r){!this.checkbox||(this.checkbox.checked=this.value,document.documentElement.classList.toggle("toggle-"+this.key,this.value!=this.defaultValue))}fromLocalStorage(e){return e=="true"}toLocalStorage(e){return e?"true":"false"}},Ee=class extends oe{initialize(){document.documentElement.classList.add("toggle-"+this.key+this.value);let e=document.querySelector("#tsd-filter-"+this.key);if(!e)return;this.select=e;let r=()=>{this.select.classList.add("active")},n=()=>{this.select.classList.remove("active")};this.select.addEventListener(C,r),this.select.addEventListener("mouseover",r),this.select.addEventListener("mouseleave",n),this.select.querySelectorAll("li").forEach(i=>{i.addEventListener(_,s=>{e.classList.remove("active"),this.setValue(s.target.dataset.value||"")})}),document.addEventListener(C,i=>{this.select.contains(i.target)||this.select.classList.remove("active")})}handleValueChange(e,r){this.select.querySelectorAll("li.selected").forEach(s=>{s.classList.remove("selected")});let n=this.select.querySelector('li[data-value="'+r+'"]'),i=this.select.querySelector(".tsd-select-label");n&&i&&(n.classList.add("selected"),i.textContent=n.textContent),document.documentElement.classList.remove("toggle-"+e),document.documentElement.classList.add("toggle-"+r)}fromLocalStorage(e){return e}toLocalStorage(e){return e}},Y=class extends Q{constructor(e){super(e);this.optionVisibility=new Ee("visibility","private"),this.optionInherited=new ae("inherited",!0),this.optionExternals=new ae("externals",!0)}static isSupported(){try{return typeof window.localStorage!="undefined"}catch{return!1}}};function be(t){let e=localStorage.getItem("tsd-theme")||"os";t.value=e,we(e),t.addEventListener("change",()=>{localStorage.setItem("tsd-theme",t.value),we(t.value)})}function we(t){switch(t){case"os":document.body.classList.remove("light","dark");break;case"light":document.body.classList.remove("dark"),document.body.classList.add("light");break;case"dark":document.body.classList.remove("light"),document.body.classList.add("dark");break}}fe();N(te,".menu-highlight");N(ne,".tsd-signatures");N(se,"a[data-toggle]");Y.isSupported()?N(Y,"#tsd-filter"):document.documentElement.classList.add("no-filter");var Te=document.getElementById("theme");Te&&be(Te);var qe=new X;Object.defineProperty(window,"app",{value:qe});})();
3
+ /*!
4
+ * lunr.Builder
5
+ * Copyright (C) 2020 Oliver Nightingale
6
+ */
7
+ /*!
8
+ * lunr.Index
9
+ * Copyright (C) 2020 Oliver Nightingale
10
+ */
11
+ /*!
12
+ * lunr.Pipeline
13
+ * Copyright (C) 2020 Oliver Nightingale
14
+ */
15
+ /*!
16
+ * lunr.Set
17
+ * Copyright (C) 2020 Oliver Nightingale
18
+ */
19
+ /*!
20
+ * lunr.TokenSet
21
+ * Copyright (C) 2020 Oliver Nightingale
22
+ */
23
+ /*!
24
+ * lunr.Vector
25
+ * Copyright (C) 2020 Oliver Nightingale
26
+ */
27
+ /*!
28
+ * lunr.stemmer
29
+ * Copyright (C) 2020 Oliver Nightingale
30
+ * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt
31
+ */
32
+ /*!
33
+ * lunr.stopWordFilter
34
+ * Copyright (C) 2020 Oliver Nightingale
35
+ */
36
+ /*!
37
+ * lunr.tokenizer
38
+ * Copyright (C) 2020 Oliver Nightingale
39
+ */
40
+ /*!
41
+ * lunr.trimmer
42
+ * Copyright (C) 2020 Oliver Nightingale
43
+ */
44
+ /*!
45
+ * lunr.utils
46
+ * Copyright (C) 2020 Oliver Nightingale
47
+ */
48
+ /**
49
+ * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9
50
+ * Copyright (C) 2020 Oliver Nightingale
51
+ * @license MIT
52
+ */
@@ -0,0 +1 @@
1
+ window.searchData = {"kinds":{"32":"Variable","64":"Function","256":"Interface","1024":"Property","65536":"Type literal","4194304":"Type alias"},"rows":[{"id":0,"kind":32,"name":"BOM","url":"modules.html#BOM","classes":"tsd-kind-variable"},{"id":1,"kind":4194304,"name":"Stringer","url":"modules.html#Stringer","classes":"tsd-kind-type-alias tsd-has-type-parameter"},{"id":2,"kind":65536,"name":"__type","url":"modules.html#Stringer.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"Stringer"},{"id":3,"kind":4194304,"name":"FnS","url":"modules.html#FnS","classes":"tsd-kind-type-alias"},{"id":4,"kind":256,"name":"WordWrapOpts","url":"interfaces/WordWrapOpts.html","classes":"tsd-kind-interface"},{"id":5,"kind":1024,"name":"width","url":"interfaces/WordWrapOpts.html#width","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"WordWrapOpts"},{"id":6,"kind":1024,"name":"min","url":"interfaces/WordWrapOpts.html#min","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"WordWrapOpts"},{"id":7,"kind":1024,"name":"hard","url":"interfaces/WordWrapOpts.html#hard","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"WordWrapOpts"},{"id":8,"kind":1024,"name":"splitter","url":"interfaces/WordWrapOpts.html#splitter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"WordWrapOpts"},{"id":9,"kind":1024,"name":"delimWord","url":"interfaces/WordWrapOpts.html#delimWord","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"WordWrapOpts"},{"id":10,"kind":1024,"name":"delimLine","url":"interfaces/WordWrapOpts.html#delimLine","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"WordWrapOpts"},{"id":11,"kind":256,"name":"IWordSplit","url":"interfaces/IWordSplit.html","classes":"tsd-kind-interface"},{"id":12,"kind":1024,"name":"length","url":"interfaces/IWordSplit.html#length","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"IWordSplit"},{"id":13,"kind":1024,"name":"split","url":"interfaces/IWordSplit.html#split","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"IWordSplit"},{"id":14,"kind":64,"name":"stripAnsi","url":"modules.html#stripAnsi","classes":"tsd-kind-function"},{"id":15,"kind":64,"name":"isAnsi","url":"modules.html#isAnsi","classes":"tsd-kind-function"},{"id":16,"kind":64,"name":"isAnsiStart","url":"modules.html#isAnsiStart","classes":"tsd-kind-function"},{"id":17,"kind":64,"name":"isAnsiEnd","url":"modules.html#isAnsiEnd","classes":"tsd-kind-function"},{"id":18,"kind":64,"name":"lengthAnsi","url":"modules.html#lengthAnsi","classes":"tsd-kind-function"},{"id":19,"kind":64,"name":"upper","url":"modules.html#upper","classes":"tsd-kind-function"},{"id":20,"kind":64,"name":"lower","url":"modules.html#lower","classes":"tsd-kind-function"},{"id":21,"kind":64,"name":"capitalize","url":"modules.html#capitalize","classes":"tsd-kind-function"},{"id":22,"kind":64,"name":"kebab","url":"modules.html#kebab","classes":"tsd-kind-function"},{"id":23,"kind":64,"name":"snake","url":"modules.html#snake","classes":"tsd-kind-function"},{"id":24,"kind":64,"name":"upperSnake","url":"modules.html#upperSnake","classes":"tsd-kind-function"},{"id":25,"kind":64,"name":"camel","url":"modules.html#camel","classes":"tsd-kind-function"},{"id":26,"kind":64,"name":"center","url":"modules.html#center","classes":"tsd-kind-function"},{"id":27,"kind":64,"name":"computeCursorPos","url":"modules.html#computeCursorPos","classes":"tsd-kind-function"},{"id":28,"kind":32,"name":"ENTITIES","url":"modules.html#ENTITIES","classes":"tsd-kind-variable"},{"id":29,"kind":32,"name":"RE_ENTITIES","url":"modules.html#RE_ENTITIES","classes":"tsd-kind-variable"},{"id":30,"kind":32,"name":"ENTITIES_REV","url":"modules.html#ENTITIES_REV","classes":"tsd-kind-variable"},{"id":31,"kind":32,"name":"RE_ENTITIES_REV","url":"modules.html#RE_ENTITIES_REV","classes":"tsd-kind-variable"},{"id":32,"kind":64,"name":"escapeEntities","url":"modules.html#escapeEntities","classes":"tsd-kind-function"},{"id":33,"kind":64,"name":"unescapeEntities","url":"modules.html#unescapeEntities","classes":"tsd-kind-function"},{"id":34,"kind":32,"name":"ESCAPES","url":"modules.html#ESCAPES","classes":"tsd-kind-variable"},{"id":35,"kind":32,"name":"ESCAPES_REV","url":"modules.html#ESCAPES_REV","classes":"tsd-kind-variable"},{"id":36,"kind":64,"name":"escape","url":"modules.html#escape","classes":"tsd-kind-function"},{"id":37,"kind":64,"name":"unescape","url":"modules.html#unescape","classes":"tsd-kind-function"},{"id":38,"kind":64,"name":"float","url":"modules.html#float","classes":"tsd-kind-function"},{"id":39,"kind":64,"name":"floatFixedWidth","url":"modules.html#floatFixedWidth","classes":"tsd-kind-function"},{"id":40,"kind":64,"name":"format","url":"modules.html#format","classes":"tsd-kind-function"},{"id":41,"kind":64,"name":"defFormat","url":"modules.html#defFormat","classes":"tsd-kind-function"},{"id":42,"kind":64,"name":"ignore","url":"modules.html#ignore","classes":"tsd-kind-function"},{"id":43,"kind":64,"name":"str","url":"modules.html#str","classes":"tsd-kind-function"},{"id":44,"kind":32,"name":"WS","url":"modules.html#WS","classes":"tsd-kind-variable"},{"id":45,"kind":32,"name":"DIGITS","url":"modules.html#DIGITS","classes":"tsd-kind-variable"},{"id":46,"kind":32,"name":"HEX","url":"modules.html#HEX","classes":"tsd-kind-variable"},{"id":47,"kind":32,"name":"LOWER","url":"modules.html#LOWER","classes":"tsd-kind-variable"},{"id":48,"kind":32,"name":"UPPER","url":"modules.html#UPPER","classes":"tsd-kind-variable"},{"id":49,"kind":32,"name":"ALPHA","url":"modules.html#ALPHA","classes":"tsd-kind-variable"},{"id":50,"kind":32,"name":"ALPHA_NUM","url":"modules.html#ALPHA_NUM","classes":"tsd-kind-variable"},{"id":51,"kind":32,"name":"PUNCTUATION","url":"modules.html#PUNCTUATION","classes":"tsd-kind-variable"},{"id":52,"kind":64,"name":"hstr","url":"modules.html#hstr","classes":"tsd-kind-function"},{"id":53,"kind":64,"name":"initials","url":"modules.html#initials","classes":"tsd-kind-function"},{"id":54,"kind":64,"name":"int","url":"modules.html#int","classes":"tsd-kind-function"},{"id":55,"kind":64,"name":"intLocale","url":"modules.html#intLocale","classes":"tsd-kind-function"},{"id":56,"kind":64,"name":"interpolate","url":"modules.html#interpolate","classes":"tsd-kind-function"},{"id":57,"kind":64,"name":"interpolateKeys","url":"modules.html#interpolateKeys","classes":"tsd-kind-function"},{"id":58,"kind":64,"name":"join","url":"modules.html#join","classes":"tsd-kind-function"},{"id":59,"kind":64,"name":"padLeft","url":"modules.html#padLeft","classes":"tsd-kind-function"},{"id":60,"kind":64,"name":"Z2","url":"modules.html#Z2","classes":"tsd-kind-function"},{"id":61,"kind":64,"name":"Z3","url":"modules.html#Z3","classes":"tsd-kind-function"},{"id":62,"kind":64,"name":"Z4","url":"modules.html#Z4","classes":"tsd-kind-function"},{"id":63,"kind":64,"name":"padRight","url":"modules.html#padRight","classes":"tsd-kind-function"},{"id":64,"kind":64,"name":"maybeParseInt","url":"modules.html#maybeParseInt","classes":"tsd-kind-function"},{"id":65,"kind":64,"name":"maybeParseFloat","url":"modules.html#maybeParseFloat","classes":"tsd-kind-function"},{"id":66,"kind":64,"name":"percent","url":"modules.html#percent","classes":"tsd-kind-function"},{"id":67,"kind":64,"name":"radix","url":"modules.html#radix","classes":"tsd-kind-function"},{"id":68,"kind":64,"name":"B8","url":"modules.html#B8","classes":"tsd-kind-function"},{"id":69,"kind":64,"name":"B16","url":"modules.html#B16","classes":"tsd-kind-function"},{"id":70,"kind":64,"name":"B32","url":"modules.html#B32","classes":"tsd-kind-function"},{"id":71,"kind":64,"name":"U8","url":"modules.html#U8","classes":"tsd-kind-function"},{"id":72,"kind":64,"name":"U16","url":"modules.html#U16","classes":"tsd-kind-function"},{"id":73,"kind":64,"name":"U24","url":"modules.html#U24","classes":"tsd-kind-function"},{"id":74,"kind":64,"name":"U32","url":"modules.html#U32","classes":"tsd-kind-function"},{"id":75,"kind":64,"name":"U64","url":"modules.html#U64","classes":"tsd-kind-function"},{"id":76,"kind":64,"name":"charRange","url":"modules.html#charRange","classes":"tsd-kind-function"},{"id":77,"kind":64,"name":"repeat","url":"modules.html#repeat","classes":"tsd-kind-function"},{"id":78,"kind":64,"name":"ruler","url":"modules.html#ruler","classes":"tsd-kind-function"},{"id":79,"kind":64,"name":"grid","url":"modules.html#grid","classes":"tsd-kind-function"},{"id":80,"kind":64,"name":"slugify","url":"modules.html#slugify","classes":"tsd-kind-function"},{"id":81,"kind":64,"name":"slugifyGH","url":"modules.html#slugifyGH","classes":"tsd-kind-function"},{"id":82,"kind":64,"name":"splice","url":"modules.html#splice","classes":"tsd-kind-function"},{"id":83,"kind":64,"name":"split","url":"modules.html#split","classes":"tsd-kind-function"},{"id":84,"kind":64,"name":"stringify","url":"modules.html#stringify","classes":"tsd-kind-function"},{"id":85,"kind":64,"name":"tabsToSpaces","url":"modules.html#tabsToSpaces","classes":"tsd-kind-function"},{"id":86,"kind":64,"name":"tabsToSpacesLine","url":"modules.html#tabsToSpacesLine","classes":"tsd-kind-function"},{"id":87,"kind":64,"name":"spacesToTabs","url":"modules.html#spacesToTabs","classes":"tsd-kind-function"},{"id":88,"kind":64,"name":"spacesToTabsLine","url":"modules.html#spacesToTabsLine","classes":"tsd-kind-function"},{"id":89,"kind":64,"name":"trim","url":"modules.html#trim","classes":"tsd-kind-function"},{"id":90,"kind":64,"name":"truncate","url":"modules.html#truncate","classes":"tsd-kind-function"},{"id":91,"kind":64,"name":"truncateRight","url":"modules.html#truncateRight","classes":"tsd-kind-function"},{"id":92,"kind":64,"name":"truncateLeft","url":"modules.html#truncateLeft","classes":"tsd-kind-function"},{"id":93,"kind":64,"name":"units","url":"modules.html#units","classes":"tsd-kind-function"},{"id":94,"kind":64,"name":"bits","url":"modules.html#bits","classes":"tsd-kind-function"},{"id":95,"kind":64,"name":"bytes","url":"modules.html#bytes","classes":"tsd-kind-function"},{"id":96,"kind":64,"name":"seconds","url":"modules.html#seconds","classes":"tsd-kind-function"},{"id":97,"kind":64,"name":"meters","url":"modules.html#meters","classes":"tsd-kind-function"},{"id":98,"kind":64,"name":"grams","url":"modules.html#grams","classes":"tsd-kind-function"},{"id":99,"kind":64,"name":"uuid","url":"modules.html#uuid","classes":"tsd-kind-function"},{"id":100,"kind":64,"name":"vector","url":"modules.html#vector","classes":"tsd-kind-function"},{"id":101,"kind":64,"name":"wrap","url":"modules.html#wrap","classes":"tsd-kind-function"},{"id":102,"kind":32,"name":"SPLIT_PLAIN","url":"modules.html#SPLIT_PLAIN","classes":"tsd-kind-variable"},{"id":103,"kind":32,"name":"SPLIT_ANSI","url":"modules.html#SPLIT_ANSI","classes":"tsd-kind-variable"},{"id":104,"kind":64,"name":"wordWrapLines","url":"modules.html#wordWrapLines","classes":"tsd-kind-function"},{"id":105,"kind":64,"name":"wordWrap","url":"modules.html#wordWrap","classes":"tsd-kind-function"}],"index":{"version":"2.3.9","fields":["name","parent"],"fieldVectors":[["name/0",[0,42.674]],["parent/0",[]],["name/1",[1,37.565]],["parent/1",[]],["name/2",[2,42.674]],["parent/2",[1,0.694]],["name/3",[3,42.674]],["parent/3",[]],["name/4",[4,26.579]],["parent/4",[]],["name/5",[5,42.674]],["parent/5",[4,0.491]],["name/6",[6,42.674]],["parent/6",[4,0.491]],["name/7",[7,42.674]],["parent/7",[4,0.491]],["name/8",[8,42.674]],["parent/8",[4,0.491]],["name/9",[9,42.674]],["parent/9",[4,0.491]],["name/10",[10,42.674]],["parent/10",[4,0.491]],["name/11",[11,34.201]],["parent/11",[]],["name/12",[12,42.674]],["parent/12",[11,0.632]],["name/13",[13,37.565]],["parent/13",[11,0.632]],["name/14",[14,42.674]],["parent/14",[]],["name/15",[15,42.674]],["parent/15",[]],["name/16",[16,42.674]],["parent/16",[]],["name/17",[17,42.674]],["parent/17",[]],["name/18",[18,42.674]],["parent/18",[]],["name/19",[19,37.565]],["parent/19",[]],["name/20",[20,37.565]],["parent/20",[]],["name/21",[21,42.674]],["parent/21",[]],["name/22",[22,42.674]],["parent/22",[]],["name/23",[23,42.674]],["parent/23",[]],["name/24",[24,42.674]],["parent/24",[]],["name/25",[25,42.674]],["parent/25",[]],["name/26",[26,42.674]],["parent/26",[]],["name/27",[27,42.674]],["parent/27",[]],["name/28",[28,42.674]],["parent/28",[]],["name/29",[29,42.674]],["parent/29",[]],["name/30",[30,42.674]],["parent/30",[]],["name/31",[31,42.674]],["parent/31",[]],["name/32",[32,42.674]],["parent/32",[]],["name/33",[33,42.674]],["parent/33",[]],["name/34",[34,42.674]],["parent/34",[]],["name/35",[35,42.674]],["parent/35",[]],["name/36",[36,42.674]],["parent/36",[]],["name/37",[37,42.674]],["parent/37",[]],["name/38",[38,42.674]],["parent/38",[]],["name/39",[39,42.674]],["parent/39",[]],["name/40",[40,42.674]],["parent/40",[]],["name/41",[41,42.674]],["parent/41",[]],["name/42",[42,42.674]],["parent/42",[]],["name/43",[43,42.674]],["parent/43",[]],["name/44",[44,42.674]],["parent/44",[]],["name/45",[45,42.674]],["parent/45",[]],["name/46",[46,42.674]],["parent/46",[]],["name/47",[20,37.565]],["parent/47",[]],["name/48",[19,37.565]],["parent/48",[]],["name/49",[47,42.674]],["parent/49",[]],["name/50",[48,42.674]],["parent/50",[]],["name/51",[49,42.674]],["parent/51",[]],["name/52",[50,42.674]],["parent/52",[]],["name/53",[51,42.674]],["parent/53",[]],["name/54",[52,42.674]],["parent/54",[]],["name/55",[53,42.674]],["parent/55",[]],["name/56",[54,42.674]],["parent/56",[]],["name/57",[55,42.674]],["parent/57",[]],["name/58",[56,42.674]],["parent/58",[]],["name/59",[57,42.674]],["parent/59",[]],["name/60",[58,42.674]],["parent/60",[]],["name/61",[59,42.674]],["parent/61",[]],["name/62",[60,42.674]],["parent/62",[]],["name/63",[61,42.674]],["parent/63",[]],["name/64",[62,42.674]],["parent/64",[]],["name/65",[63,42.674]],["parent/65",[]],["name/66",[64,42.674]],["parent/66",[]],["name/67",[65,42.674]],["parent/67",[]],["name/68",[66,42.674]],["parent/68",[]],["name/69",[67,42.674]],["parent/69",[]],["name/70",[68,42.674]],["parent/70",[]],["name/71",[69,42.674]],["parent/71",[]],["name/72",[70,42.674]],["parent/72",[]],["name/73",[71,42.674]],["parent/73",[]],["name/74",[72,42.674]],["parent/74",[]],["name/75",[73,42.674]],["parent/75",[]],["name/76",[74,42.674]],["parent/76",[]],["name/77",[75,42.674]],["parent/77",[]],["name/78",[76,42.674]],["parent/78",[]],["name/79",[77,42.674]],["parent/79",[]],["name/80",[78,42.674]],["parent/80",[]],["name/81",[79,42.674]],["parent/81",[]],["name/82",[80,42.674]],["parent/82",[]],["name/83",[13,37.565]],["parent/83",[]],["name/84",[81,42.674]],["parent/84",[]],["name/85",[82,42.674]],["parent/85",[]],["name/86",[83,42.674]],["parent/86",[]],["name/87",[84,42.674]],["parent/87",[]],["name/88",[85,42.674]],["parent/88",[]],["name/89",[86,42.674]],["parent/89",[]],["name/90",[87,42.674]],["parent/90",[]],["name/91",[88,42.674]],["parent/91",[]],["name/92",[89,42.674]],["parent/92",[]],["name/93",[90,42.674]],["parent/93",[]],["name/94",[91,42.674]],["parent/94",[]],["name/95",[92,42.674]],["parent/95",[]],["name/96",[93,42.674]],["parent/96",[]],["name/97",[94,42.674]],["parent/97",[]],["name/98",[95,42.674]],["parent/98",[]],["name/99",[96,42.674]],["parent/99",[]],["name/100",[97,42.674]],["parent/100",[]],["name/101",[98,42.674]],["parent/101",[]],["name/102",[99,42.674]],["parent/102",[]],["name/103",[100,42.674]],["parent/103",[]],["name/104",[101,42.674]],["parent/104",[]],["name/105",[102,42.674]],["parent/105",[]]],"invertedIndex":[["__type",{"_index":2,"name":{"2":{}},"parent":{}}],["alpha",{"_index":47,"name":{"49":{}},"parent":{}}],["alpha_num",{"_index":48,"name":{"50":{}},"parent":{}}],["b16",{"_index":67,"name":{"69":{}},"parent":{}}],["b32",{"_index":68,"name":{"70":{}},"parent":{}}],["b8",{"_index":66,"name":{"68":{}},"parent":{}}],["bits",{"_index":91,"name":{"94":{}},"parent":{}}],["bom",{"_index":0,"name":{"0":{}},"parent":{}}],["bytes",{"_index":92,"name":{"95":{}},"parent":{}}],["camel",{"_index":25,"name":{"25":{}},"parent":{}}],["capitalize",{"_index":21,"name":{"21":{}},"parent":{}}],["center",{"_index":26,"name":{"26":{}},"parent":{}}],["charrange",{"_index":74,"name":{"76":{}},"parent":{}}],["computecursorpos",{"_index":27,"name":{"27":{}},"parent":{}}],["defformat",{"_index":41,"name":{"41":{}},"parent":{}}],["delimline",{"_index":10,"name":{"10":{}},"parent":{}}],["delimword",{"_index":9,"name":{"9":{}},"parent":{}}],["digits",{"_index":45,"name":{"45":{}},"parent":{}}],["entities",{"_index":28,"name":{"28":{}},"parent":{}}],["entities_rev",{"_index":30,"name":{"30":{}},"parent":{}}],["escape",{"_index":36,"name":{"36":{}},"parent":{}}],["escapeentities",{"_index":32,"name":{"32":{}},"parent":{}}],["escapes",{"_index":34,"name":{"34":{}},"parent":{}}],["escapes_rev",{"_index":35,"name":{"35":{}},"parent":{}}],["float",{"_index":38,"name":{"38":{}},"parent":{}}],["floatfixedwidth",{"_index":39,"name":{"39":{}},"parent":{}}],["fns",{"_index":3,"name":{"3":{}},"parent":{}}],["format",{"_index":40,"name":{"40":{}},"parent":{}}],["grams",{"_index":95,"name":{"98":{}},"parent":{}}],["grid",{"_index":77,"name":{"79":{}},"parent":{}}],["hard",{"_index":7,"name":{"7":{}},"parent":{}}],["hex",{"_index":46,"name":{"46":{}},"parent":{}}],["hstr",{"_index":50,"name":{"52":{}},"parent":{}}],["ignore",{"_index":42,"name":{"42":{}},"parent":{}}],["initials",{"_index":51,"name":{"53":{}},"parent":{}}],["int",{"_index":52,"name":{"54":{}},"parent":{}}],["interpolate",{"_index":54,"name":{"56":{}},"parent":{}}],["interpolatekeys",{"_index":55,"name":{"57":{}},"parent":{}}],["intlocale",{"_index":53,"name":{"55":{}},"parent":{}}],["isansi",{"_index":15,"name":{"15":{}},"parent":{}}],["isansiend",{"_index":17,"name":{"17":{}},"parent":{}}],["isansistart",{"_index":16,"name":{"16":{}},"parent":{}}],["iwordsplit",{"_index":11,"name":{"11":{}},"parent":{"12":{},"13":{}}}],["join",{"_index":56,"name":{"58":{}},"parent":{}}],["kebab",{"_index":22,"name":{"22":{}},"parent":{}}],["length",{"_index":12,"name":{"12":{}},"parent":{}}],["lengthansi",{"_index":18,"name":{"18":{}},"parent":{}}],["lower",{"_index":20,"name":{"20":{},"47":{}},"parent":{}}],["maybeparsefloat",{"_index":63,"name":{"65":{}},"parent":{}}],["maybeparseint",{"_index":62,"name":{"64":{}},"parent":{}}],["meters",{"_index":94,"name":{"97":{}},"parent":{}}],["min",{"_index":6,"name":{"6":{}},"parent":{}}],["padleft",{"_index":57,"name":{"59":{}},"parent":{}}],["padright",{"_index":61,"name":{"63":{}},"parent":{}}],["percent",{"_index":64,"name":{"66":{}},"parent":{}}],["punctuation",{"_index":49,"name":{"51":{}},"parent":{}}],["radix",{"_index":65,"name":{"67":{}},"parent":{}}],["re_entities",{"_index":29,"name":{"29":{}},"parent":{}}],["re_entities_rev",{"_index":31,"name":{"31":{}},"parent":{}}],["repeat",{"_index":75,"name":{"77":{}},"parent":{}}],["ruler",{"_index":76,"name":{"78":{}},"parent":{}}],["seconds",{"_index":93,"name":{"96":{}},"parent":{}}],["slugify",{"_index":78,"name":{"80":{}},"parent":{}}],["slugifygh",{"_index":79,"name":{"81":{}},"parent":{}}],["snake",{"_index":23,"name":{"23":{}},"parent":{}}],["spacestotabs",{"_index":84,"name":{"87":{}},"parent":{}}],["spacestotabsline",{"_index":85,"name":{"88":{}},"parent":{}}],["splice",{"_index":80,"name":{"82":{}},"parent":{}}],["split",{"_index":13,"name":{"13":{},"83":{}},"parent":{}}],["split_ansi",{"_index":100,"name":{"103":{}},"parent":{}}],["split_plain",{"_index":99,"name":{"102":{}},"parent":{}}],["splitter",{"_index":8,"name":{"8":{}},"parent":{}}],["str",{"_index":43,"name":{"43":{}},"parent":{}}],["stringer",{"_index":1,"name":{"1":{}},"parent":{"2":{}}}],["stringify",{"_index":81,"name":{"84":{}},"parent":{}}],["stripansi",{"_index":14,"name":{"14":{}},"parent":{}}],["tabstospaces",{"_index":82,"name":{"85":{}},"parent":{}}],["tabstospacesline",{"_index":83,"name":{"86":{}},"parent":{}}],["trim",{"_index":86,"name":{"89":{}},"parent":{}}],["truncate",{"_index":87,"name":{"90":{}},"parent":{}}],["truncateleft",{"_index":89,"name":{"92":{}},"parent":{}}],["truncateright",{"_index":88,"name":{"91":{}},"parent":{}}],["u16",{"_index":70,"name":{"72":{}},"parent":{}}],["u24",{"_index":71,"name":{"73":{}},"parent":{}}],["u32",{"_index":72,"name":{"74":{}},"parent":{}}],["u64",{"_index":73,"name":{"75":{}},"parent":{}}],["u8",{"_index":69,"name":{"71":{}},"parent":{}}],["unescape",{"_index":37,"name":{"37":{}},"parent":{}}],["unescapeentities",{"_index":33,"name":{"33":{}},"parent":{}}],["units",{"_index":90,"name":{"93":{}},"parent":{}}],["upper",{"_index":19,"name":{"19":{},"48":{}},"parent":{}}],["uppersnake",{"_index":24,"name":{"24":{}},"parent":{}}],["uuid",{"_index":96,"name":{"99":{}},"parent":{}}],["vector",{"_index":97,"name":{"100":{}},"parent":{}}],["width",{"_index":5,"name":{"5":{}},"parent":{}}],["wordwrap",{"_index":102,"name":{"105":{}},"parent":{}}],["wordwraplines",{"_index":101,"name":{"104":{}},"parent":{}}],["wordwrapopts",{"_index":4,"name":{"4":{}},"parent":{"5":{},"6":{},"7":{},"8":{},"9":{},"10":{}}}],["wrap",{"_index":98,"name":{"101":{}},"parent":{}}],["ws",{"_index":44,"name":{"44":{}},"parent":{}}],["z2",{"_index":58,"name":{"60":{}},"parent":{}}],["z3",{"_index":59,"name":{"61":{}},"parent":{}}],["z4",{"_index":60,"name":{"62":{}},"parent":{}}]],"pipeline":[]}}
package/package.json CHANGED
@@ -1,196 +1,201 @@
1
1
  {
2
- "name": "@thi.ng/strings",
3
- "version": "3.1.0",
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.4",
38
- "@thi.ng/errors": "^2.0.4",
39
- "@thi.ng/hex": "^2.0.4",
40
- "@thi.ng/memoize": "^3.0.4"
41
- },
42
- "devDependencies": {
43
- "@thi.ng/testament": "^0.1.4"
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": "9ff00a103f76cc4917ef3f244132e218f2300a05"
196
- }
2
+ "name": "@thi.ng/strings",
3
+ "version": "3.2.0",
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 build && yarn npm publish --access public",
34
+ "test": "testament test"
35
+ },
36
+ "dependencies": {
37
+ "@thi.ng/api": "^8.3.0",
38
+ "@thi.ng/errors": "^2.1.0",
39
+ "@thi.ng/hex": "^2.1.0",
40
+ "@thi.ng/memoize": "^3.1.0"
41
+ },
42
+ "devDependencies": {
43
+ "@microsoft/api-extractor": "^7.18.19",
44
+ "@thi.ng/testament": "^0.2.0",
45
+ "rimraf": "^3.0.2",
46
+ "tools": "^0.0.1",
47
+ "typedoc": "^0.22.8",
48
+ "typescript": "^4.4.4"
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": "519eedf95c076202f3429eb8e46ccff275bfe446\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];