@valkyriestudios/utils 8.4.0 → 10.0.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/README.md +1 -1
- package/array/join.js +3 -6
- package/array/mapFn.js +5 -10
- package/array/mapKey.js +9 -11
- package/array/mapPrimitive.js +3 -8
- package/array/sort.js +10 -10
- package/boolean/is.js +1 -1
- package/caching/memoize.js +1 -3
- package/date/addUTC.js +3 -3
- package/date/diff.js +3 -3
- package/date/endOfUTC.js +3 -3
- package/date/is.js +1 -1
- package/date/startOfUTC.js +3 -3
- package/date/toUTC.js +3 -1
- package/date/toUnix.js +3 -1
- package/deep/freeze.js +2 -3
- package/deep/get.js +7 -9
- package/deep/seal.js +2 -3
- package/deep/set.js +6 -8
- package/equal.js +2 -4
- package/function/is.js +1 -1
- package/hash/fnv1A.js +4 -9
- package/object/define.js +1 -2
- package/object/is.js +1 -2
- package/object/isNotEmpty.js +1 -2
- package/object/merge.js +2 -3
- package/object/pick.js +8 -8
- package/package.json +4 -4
- package/regexp/is.js +1 -3
- package/regexp/sanitize.js +1 -4
- package/src/array/join.mjs +5 -7
- package/src/array/mapFn.mjs +5 -9
- package/src/array/mapKey.mjs +11 -11
- package/src/array/mapPrimitive.mjs +7 -6
- package/src/array/sort.mjs +11 -12
- package/src/boolean/is.mjs +1 -1
- package/src/caching/memoize.mjs +1 -3
- package/src/date/addUTC.mjs +3 -3
- package/src/date/diff.mjs +4 -4
- package/src/date/endOfUTC.mjs +3 -3
- package/src/date/is.mjs +1 -1
- package/src/date/startOfUTC.mjs +3 -3
- package/src/date/toUTC.mjs +3 -1
- package/src/date/toUnix.mjs +3 -1
- package/src/deep/freeze.mjs +2 -4
- package/src/deep/get.mjs +9 -8
- package/src/deep/seal.mjs +2 -4
- package/src/deep/set.mjs +8 -7
- package/src/equal.mjs +5 -7
- package/src/function/is.mjs +1 -1
- package/src/hash/fnv1A.mjs +4 -9
- package/src/object/define.mjs +2 -4
- package/src/object/is.mjs +1 -1
- package/src/object/isNotEmpty.mjs +1 -3
- package/src/object/merge.mjs +3 -5
- package/src/object/pick.mjs +13 -11
- package/src/regexp/is.mjs +1 -3
- package/src/regexp/sanitize.mjs +1 -3
- package/src/string/humanizeBytes.mjs +4 -6
- package/src/string/humanizeNumber.mjs +9 -11
- package/src/string/is.mjs +1 -1
- package/src/string/isBetween.mjs +1 -3
- package/src/string/isNotEmpty.mjs +1 -1
- package/src/string/shorten.mjs +7 -8
- package/string/humanizeBytes.js +4 -6
- package/string/humanizeNumber.js +6 -8
- package/string/is.js +1 -1
- package/string/isBetween.js +1 -4
- package/string/isNotEmpty.js +1 -1
- package/string/shorten.js +3 -7
- package/CHANGELOG.md +0 -469
- package/data/continents.json +0 -9
- package/data/countries.json +0 -251
package/CHANGELOG.md
DELETED
|
@@ -1,469 +0,0 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
All notable changes to this project will be documented in this file.
|
|
4
|
-
|
|
5
|
-
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic
|
|
6
|
-
Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
-
|
|
8
|
-
## [8.4.0] - 2023-12-06
|
|
9
|
-
### Improved
|
|
10
|
-
- deep/get: Removed internal usage of `X.hasOwnProperty(key)` in favor of `Object.prototype.hasOwnProperty.call(X, key)`, allowing passing objects without prototype (eg: Object.create(null))
|
|
11
|
-
- object/merge: Removed internal usage of `X.hasOwnProperty(key)` in favor of `Object.prototype.hasOwnProperty.call(X, key)`, allowing passing objects without prototype (eg: Object.create(null))
|
|
12
|
-
- array/mapKey: Removed internal usage of `X.hasOwnProperty(key)` in favor of `Object.prototype.hasOwnProperty.call(X, key)`, allowing passing objects without prototype (eg: Object.create(null))
|
|
13
|
-
- array/sort: Removed internal usage of `X.hasOwnProperty(key)` in favor of `Object.prototype.hasOwnProperty.call(X, key)`, allowing passing objects without prototype (eg: Object.create(null))
|
|
14
|
-
- array/sort: Now wraps a custom filter function to ensure non-empty object checks are always applied, this also means custom filter functions no longer need to pass this themselves
|
|
15
|
-
|
|
16
|
-
## [8.3.0] - 2023-12-06
|
|
17
|
-
### Added
|
|
18
|
-
- Dev Dep: babel-plugin-module-extension@0.1.3
|
|
19
|
-
|
|
20
|
-
### Improved
|
|
21
|
-
- Dev Dep: Upgrade eslint to 8.55.0
|
|
22
|
-
- Rerun benchmark for v8 on intel i9
|
|
23
|
-
|
|
24
|
-
### Fixed
|
|
25
|
-
- deep/get: Fix edge case issue where cursor is not an object or array when parts still exist afterwards
|
|
26
|
-
|
|
27
|
-
## [8.2.0] - 2023-11-29
|
|
28
|
-
### Improved
|
|
29
|
-
- Dev Dep: Upgrade @babel/core to 7.23.5
|
|
30
|
-
- Dev Dep: Upgrade @babel/preset-env to 7.23.5
|
|
31
|
-
- deep/get: Allow handling of deep keys containing multiple array denominators
|
|
32
|
-
- deep/set: Allow handling of deep keys containing multiple array denominators
|
|
33
|
-
|
|
34
|
-
## [8.1.0] - 2023-11-29
|
|
35
|
-
### Improved
|
|
36
|
-
- Reverted module type change that caused breakage due to esm vs cjs compatibility
|
|
37
|
-
- Adjusted src files and test files to work with .mjs extension
|
|
38
|
-
|
|
39
|
-
## [8.0.0] - 2023-11-29
|
|
40
|
-
### Added
|
|
41
|
-
- Dev: Dep: c8\@8.0.1
|
|
42
|
-
- Dev: Internal benchmark script to produce ops/sec for close to all util functions
|
|
43
|
-
- date/startOfUTC: Add support for week_mon as mode (alias for week with monday as first day of the week)
|
|
44
|
-
- date/startOfUTC: Add support for week_tue as mode (tuesday as first day of the week)
|
|
45
|
-
- date/startOfUTC: Add support for week_wed as mode (wednesday as first day of the week)
|
|
46
|
-
- date/startOfUTC: Add support for week_thu as mode (thursday as first day of the week)
|
|
47
|
-
- date/startOfUTC: Add support for week_fri as mode (friday as first day of the week)
|
|
48
|
-
- date/startOfUTC: Add support for week_sat as mode (saturday as first day of the week)
|
|
49
|
-
- date/endOfUTC: Add support for week_mon as mode (alias for week with monday as first day of the week)
|
|
50
|
-
- date/endOfUTC: Add support for week_tue as mode (tuesday as first day of the week)
|
|
51
|
-
- date/endOfUTC: Add support for week_wed as mode (wednesday as first day of the week)
|
|
52
|
-
- date/endOfUTC: Add support for week_thu as mode (thursday as first day of the week)
|
|
53
|
-
- date/endOfUTC: Add support for week_fri as mode (friday as first day of the week)
|
|
54
|
-
- date/endOfUTC: Add support for week_sat as mode (saturday as first day of the week)
|
|
55
|
-
|
|
56
|
-
### Improved
|
|
57
|
-
- Dev Dep: Upgrade @babel/cli to 7.23.4
|
|
58
|
-
- Switch from using chai/mocha to node native test runner
|
|
59
|
-
- hash/fnv1A: Improved performance thanks to predefined constants and reducing internal overhead regarding conversion
|
|
60
|
-
- array/dedupe: Improved performance due to replacement of filter and object map by for with native map
|
|
61
|
-
- deep/freeze: Improved performance due to replacement of forEach with native for
|
|
62
|
-
- deep/seal: Improved performance due to replacement of forEach with native for
|
|
63
|
-
- deep/get: Improved performance due to order change during path interpolation
|
|
64
|
-
- deep/set: Improved performance due to order change during path interpolation
|
|
65
|
-
- date/startOfUTC: Improved performance for start of week and quarter calculation due to improved internal handling
|
|
66
|
-
- date/endOfUTC: Improved performance for start of week and quarter calculation due to improved internal handling
|
|
67
|
-
- string/shorten: Will no longer return false but an empty string when passed a string that is empty after trimming
|
|
68
|
-
- string/isBetween: Will now validate that min and max are passed as above or equal to 0
|
|
69
|
-
- string/humanizeNumber Will now be magnitudes faster (50x) due to ditching usage of Intl for separator handling
|
|
70
|
-
- string/humanizeBytes: Will now be magnitudes faster (50x) due to ditching usage of Intl for separator handling
|
|
71
|
-
- object/pick: Will now throw when passed an empty array of keys
|
|
72
|
-
- object/pick: Will now be magnitudes faster (7x) if working with non-deep keys (eg: pick(obj, ['g.d', 'g.e']))
|
|
73
|
-
- object/merge: Will now throw when passed a non-object target and source (previously only non-object target)
|
|
74
|
-
- Performance improvements across a plethora of functions due to internal usage swaps in favor of Number.isFinite, Number.isInteger and Array.isArray leading to reduction of function calls andless Heap chatter
|
|
75
|
-
- Published package will now also include original src files which can be imported in @valkyriestudios/utils/src, this allows anyone wishing to use in esm format to do so
|
|
76
|
-
|
|
77
|
-
### Breaking
|
|
78
|
-
- The usage of non-primitive number formats (eg: `new Number(...)`) will no longer be supported to allow for performance improvements during validity checks. This should not impact many people as the usage of numbers in that format has been discouraged for many years.
|
|
79
|
-
|
|
80
|
-
### Fixed
|
|
81
|
-
- deep/set: Fix an issue where multiple runs of deepSet could throw errors when trying to assign a deeper value to a value that was previously set to a primitive
|
|
82
|
-
- deep/set: Fix an issue preventing building up of deep arrays using eg: deepSet({a: []}, 'a.0.name', 'Peter')
|
|
83
|
-
- deep/get: Fix an issue where deepGet would throw an error instead of returning undefined when diving into certain keys that don't exist on deep objects and arrays
|
|
84
|
-
|
|
85
|
-
### Removed
|
|
86
|
-
- Dev Dep: babel-plugin-check-es2015-constants (as not needed)
|
|
87
|
-
- Dev Dep: babel-plugin-transform-member-expression-literals (as not needed)
|
|
88
|
-
- Dev Dep: babel-plugin-transform-property-literals (as not needed)
|
|
89
|
-
- Dev Dep: chai (in favor of native node test runner)
|
|
90
|
-
- Dev Dep: chai-as-promised (in favor of native node test runner)
|
|
91
|
-
- Dev Dep: chai-spies (in favor of native node test runner)
|
|
92
|
-
- Dev Dep: mocha (in favor of native node test runner)
|
|
93
|
-
- Dev Dep: nyc (in favor of native node test runner in combination with c8)
|
|
94
|
-
- object/defineFrozen: As these worked on a pass-by-reference and if misunderstood could have certain unwanted side-effects
|
|
95
|
-
- object/defineSealed: As these worked on a pass-by-reference and if misunderstood could have certain unwanted side-effects
|
|
96
|
-
- object/zip
|
|
97
|
-
- object/forValues
|
|
98
|
-
|
|
99
|
-
## [7.5.0] - 2023-10-22
|
|
100
|
-
### Improved
|
|
101
|
-
- Dep: Upgrade @babel/cli to 7.23.0
|
|
102
|
-
- Dep: Upgrade @babel/core to 7.23.2
|
|
103
|
-
- Dep: Upgrade @babel/preset-env to 7.23.2
|
|
104
|
-
- Dep: Upgrade @babel/register to 7.22.15
|
|
105
|
-
- Dep: Upgrade chai to 4.3.10
|
|
106
|
-
- Dep: Upgrade eslint to 8.52.0
|
|
107
|
-
- date/addUTC now supports millisecond/milliseconds as keys
|
|
108
|
-
|
|
109
|
-
## [7.4.0] - 2023-08-10
|
|
110
|
-
### Added
|
|
111
|
-
- regexp/sanitize
|
|
112
|
-
|
|
113
|
-
### Improved
|
|
114
|
-
- Dep: Upgrade @babel/cli to 7.22.10
|
|
115
|
-
- Dep: Upgrade @babel/core to 7.22.10
|
|
116
|
-
- Dep: Upgrade @babel/preset-env to 7.22.10
|
|
117
|
-
- Dep: Upgrade eslint to 8.46.0
|
|
118
|
-
|
|
119
|
-
## [7.3.0] - 2023-06-25
|
|
120
|
-
### Added
|
|
121
|
-
- data/continents.json
|
|
122
|
-
- data/countries.json
|
|
123
|
-
|
|
124
|
-
### Improved
|
|
125
|
-
- Dep: Upgrade eslint to 8.43.0
|
|
126
|
-
|
|
127
|
-
## [7.2.0] - 2023-06-11
|
|
128
|
-
### Added
|
|
129
|
-
- date/toUnix: Convert a date to its corresponding unix timestamp in seconds (1.000.000 ops in ~300ms)
|
|
130
|
-
- date/diff (supports week,day,hour,minute,millisecond) (1.000.000 ops in ~650ms)
|
|
131
|
-
|
|
132
|
-
### Improved
|
|
133
|
-
- Dep: Upgrade @babel/cli to 7.22.5
|
|
134
|
-
- Dep: Upgrade @babel/core to 7.22.5
|
|
135
|
-
- Dep: Upgrade @babel/preset-env to 7.22.5
|
|
136
|
-
- Dep: Upgrade @babel/register to 7.22.5
|
|
137
|
-
- Dep: Upgrade eslint to 8.42.0
|
|
138
|
-
|
|
139
|
-
## [7.1.0] - 2023-05-13
|
|
140
|
-
### Added
|
|
141
|
-
- date/addUTC (1.000.000 ops in ~750ms)
|
|
142
|
-
- date/endOfUTC (1.000.000 ops in ~600ms), supports year,quarter,month,week,week_sun,day,hour,minute,second
|
|
143
|
-
|
|
144
|
-
### Improved
|
|
145
|
-
- date/startOfUTC now supports 'quarter'
|
|
146
|
-
- date/startOfUTC now supports 'week' (monday as first day of the week)
|
|
147
|
-
- date/startOfUTC now supports 'week_sun' (sunday as first day of the week)
|
|
148
|
-
|
|
149
|
-
## [7.0.0] - 2023-05-07
|
|
150
|
-
### Added
|
|
151
|
-
- Dep: @babel/cli
|
|
152
|
-
- .babelrc
|
|
153
|
-
- Switch to using babel-cli for transpiling build
|
|
154
|
-
- date/startOfUTC (1.000.000 ops in ~500ms)
|
|
155
|
-
|
|
156
|
-
### Improved
|
|
157
|
-
- Dep: Upgrade @babel/core to 7.21.8
|
|
158
|
-
- Dep: Upgrade eslint to 8.40.0
|
|
159
|
-
|
|
160
|
-
### Removed
|
|
161
|
-
- Dep: gulp
|
|
162
|
-
- Dep: gulp-babel
|
|
163
|
-
- gulpfile
|
|
164
|
-
- array/mapPrimitive: keytrim option
|
|
165
|
-
|
|
166
|
-
## [6.3.0] - 2023-05-01
|
|
167
|
-
### Added
|
|
168
|
-
- date/toUTC (benchmark 1.000.000 opts in ~500ms)
|
|
169
|
-
|
|
170
|
-
## [6.2.0] - 2023-04-29
|
|
171
|
-
### Added
|
|
172
|
-
- date/nowUnix
|
|
173
|
-
- date/nowUnixMs
|
|
174
|
-
|
|
175
|
-
### Improved
|
|
176
|
-
- number/round: Improve precision on edge case numbers by using epsilon differentiator
|
|
177
|
-
- number/round: Improve performance and add benchmark (1.000.000 round ops in ~250ms)
|
|
178
|
-
- Dep: Upgrade @babel/core to 7.21.5
|
|
179
|
-
- Dep: Upgrade @babel/preset-env to 7.21.5
|
|
180
|
-
|
|
181
|
-
## [6.1.0] - 2023-04-23
|
|
182
|
-
### Improved
|
|
183
|
-
- Reduce eventual bundle size for package
|
|
184
|
-
|
|
185
|
-
## [6.0.0] - 2023-04-22
|
|
186
|
-
### Added
|
|
187
|
-
- array/sort
|
|
188
|
-
- string/humanizeNumber (with delim, separator, precision, units, divider) options
|
|
189
|
-
- number/randomIntBetween
|
|
190
|
-
- number/isAboveOrEqual
|
|
191
|
-
- number/isBelowOrEqual
|
|
192
|
-
- number/isIntegerAboveOrEqual
|
|
193
|
-
- number/isIntegerBelowOrEqual
|
|
194
|
-
- Is@NumberBelowOrEqual
|
|
195
|
-
- Is@NumberAboveOrEqual
|
|
196
|
-
- Is@IntegerBelowOrEqual
|
|
197
|
-
- Is@IntegerAboveOrEqual
|
|
198
|
-
- Is@Equal
|
|
199
|
-
- Is@Eq (as alias of Is@Equal)
|
|
200
|
-
- Is@NeArray (alias of Is@NotEmptyArray)
|
|
201
|
-
- Is@NeObject (alias of Is@NotEmptyObject)
|
|
202
|
-
- Is@NeString (alias of Is@NotEmptyString)
|
|
203
|
-
- Is@Num (alias of Is@Number)
|
|
204
|
-
- Is@NumBelow (alias of Is@NumberBelow)
|
|
205
|
-
- Is@NumBelowOrEqual (alias of Is@NumberBelowOrEqual)
|
|
206
|
-
- Is@NumAbove (alias of Is@NumberAbove)
|
|
207
|
-
- Is@NumAboveOrEqual (alias of Is@NumberAboveOrEqual)
|
|
208
|
-
- Is@NumBetween (alias of Is@NumberBetween)
|
|
209
|
-
- Is@NumLt (alias of Is@NumberBelow)
|
|
210
|
-
- Is@NumLte (alias of Is@NumberBelowOrEqual)
|
|
211
|
-
- Is@NumGt (alias of Is@NumberAbove)
|
|
212
|
-
- Is@NumGte (alias of Is@NumberAboveOrEqual)
|
|
213
|
-
- Is@Int (alias of Is@Integer)
|
|
214
|
-
- Is@IntBelow (alias of Is@IntegerBelow)
|
|
215
|
-
- Is@IntBelowOrEqual (alias of Is@IntegerBelowOrEqual)
|
|
216
|
-
- Is@IntAbove (alias of Is@IntegerAbove)
|
|
217
|
-
- Is@IntAboveOrEqual (alias of Is@IntegerAboveOrEqual)
|
|
218
|
-
- Is@IntBetween (alias of Is@IntegerBetween)
|
|
219
|
-
- Is@IntLt (alias of Is@IntegerBelow)
|
|
220
|
-
- Is@IntLte (alias of Is@IntegerBelowOrEqual)
|
|
221
|
-
- Is@IntGt (alias of Is@IntegerAbove)
|
|
222
|
-
- Is@IntGte (alias of Is@IntegerAboveOrEqual)
|
|
223
|
-
|
|
224
|
-
### Improved
|
|
225
|
-
- Dep: Upgrade eslint to 8.39.0
|
|
226
|
-
- object/pick: Now internally validates keys as strings and autotrims keys when picking
|
|
227
|
-
- number/round: Performance improvement due to usage of scientific notation not requiring math.pow
|
|
228
|
-
- number/round: Will only accept integers for precision variable from now on
|
|
229
|
-
- hash/guid: Is now 4x faster than previous implementation thanks to usage of bitwise operators and a precalculated hexmap (0-255), able to generate 50.000 guids in ~65ms and also no longer relying on high-performance timers
|
|
230
|
-
- string/humanizeBytes: Now humanizes the real number part and allows passing a custom delimiter for natural numbers (eg: 1024 -> 1,024, 1024 {delim:'.'} -> 1.024)
|
|
231
|
-
- string/humanizeBytes: Now allows passing a custom separator (eg: 10.024 {separator: ','} -> 10,024)
|
|
232
|
-
- string/humanizeBytes: Now allows passing a precision variable (default:2)
|
|
233
|
-
- string/humanizeBytes: Now allows passing a custom units array (eg: humanizeBytes(1024, {units: [' Jedi', ' Darth']}) -> 1 Darth, humanizeBytes(20, {units: [' Jedi', 'Darth']}) -> 20 Jedi)
|
|
234
|
-
|
|
235
|
-
## [5.4.0] - 2023-04-08
|
|
236
|
-
### Added
|
|
237
|
-
- String/humanizeBytes
|
|
238
|
-
|
|
239
|
-
### Improved
|
|
240
|
-
- Dep: Upgrade eslint to 8.38.0
|
|
241
|
-
|
|
242
|
-
## [5.3.1] - 2023-03-31
|
|
243
|
-
### Improved
|
|
244
|
-
- Dep: Upgrade @babel/core to 7.21.4
|
|
245
|
-
- Dep: Upgrade @babel/preset-env to 7.21.4
|
|
246
|
-
- Dep: Upgrade @babel/register to 7.21.0
|
|
247
|
-
- Dep: Upgrade eslint to 8.37.0
|
|
248
|
-
- Dep: Upgrade mocha to 10.2.0
|
|
249
|
-
|
|
250
|
-
### Fixed
|
|
251
|
-
- Number/randomBetween: Fix issue where min is not properly taken into account
|
|
252
|
-
|
|
253
|
-
## [5.3.0] - 2022-11-20
|
|
254
|
-
### Added
|
|
255
|
-
- Array/shuffle: Fisher-Yates implementation O(n) shuffling algorithm, can be used to shuffle arrays of both primitives and non-primitives
|
|
256
|
-
|
|
257
|
-
### Improved
|
|
258
|
-
- Dep: Upgrade @babel/core to 7.20.2
|
|
259
|
-
- Dep: Upgrade @babel/preset-env to 7.20.2
|
|
260
|
-
- Dep: Upgrade chai to 4.3.7
|
|
261
|
-
- Dep: Upgrade eslint to 8.28.0
|
|
262
|
-
- Dep: Upgrade mocha to 10.1.0
|
|
263
|
-
- Caching/memoize: Now allows a resolver function to be passed to allow custom cache key generation
|
|
264
|
-
|
|
265
|
-
## [5.2.0] - 2022-10-09
|
|
266
|
-
### Added
|
|
267
|
-
- array/join
|
|
268
|
-
- number/isInteger
|
|
269
|
-
- number/isIntegerBelow
|
|
270
|
-
- number/isIntegerAbove
|
|
271
|
-
- number/isIntegerBetween
|
|
272
|
-
- Is@Integer
|
|
273
|
-
- Is@IntegerBelow
|
|
274
|
-
- Is@IntegerAbove
|
|
275
|
-
- Is@IntegerBetween
|
|
276
|
-
|
|
277
|
-
### Improved
|
|
278
|
-
- Dep: Upgrade @babel/core to 7.19.3
|
|
279
|
-
- Dep: Upgrade @babel/preset-env to 7.19.3
|
|
280
|
-
- Dep: Upgrade @babel/register to 7.18.9
|
|
281
|
-
- Dep: Upgrade eslint to 8.24.0
|
|
282
|
-
- Add .nycrc, .babelrc, .eslintrc.json, .travis.yml, test/ to npm ignore
|
|
283
|
-
|
|
284
|
-
### Removed
|
|
285
|
-
- .eslintrc (legacy file)
|
|
286
|
-
|
|
287
|
-
## [5.1.0] - 2022-07-17
|
|
288
|
-
### Added
|
|
289
|
-
- string/shorten
|
|
290
|
-
- array/mapKey
|
|
291
|
-
- array/mapFn
|
|
292
|
-
- array/mapPrimitive
|
|
293
|
-
|
|
294
|
-
### Improved
|
|
295
|
-
- array/dedupe: will now check whether or not passed variable is a non-empty array
|
|
296
|
-
- number/isNumericalNaN: will now also work with raw NaN checks
|
|
297
|
-
- number/randomBetween, number/round, number/toPercentage no longer double check against isNumericalNaN as this behavior is already built-in to isNumber
|
|
298
|
-
|
|
299
|
-
## [5.0.0] - 2022-07-16
|
|
300
|
-
### Added
|
|
301
|
-
- Feat: number/isBelow
|
|
302
|
-
- Feat: number/isAbove
|
|
303
|
-
- Feat: Is.NumberBelow
|
|
304
|
-
- Feat: Is.NumberAbove
|
|
305
|
-
- Dep: mocha@10.0.0
|
|
306
|
-
- Dep: nyc@15.1.0
|
|
307
|
-
- Dep: chai@4.3.6
|
|
308
|
-
- Dep: chai-as-promised@7.1.1
|
|
309
|
-
- Dep: chai-spies@1.0.0
|
|
310
|
-
- Dep: eslint@8.19.0
|
|
311
|
-
- Dep: @babel/core@7.18.6
|
|
312
|
-
- Dep: @babel/preset-env@7.18.6
|
|
313
|
-
- Dep: @babel/register@7.18.6
|
|
314
|
-
- .eslintrc.json
|
|
315
|
-
- .nycrc
|
|
316
|
-
- .babelrc
|
|
317
|
-
- npm command: lint
|
|
318
|
-
|
|
319
|
-
### Improved
|
|
320
|
-
- Dep: Upgrade babel-loader to 8.2.5
|
|
321
|
-
- Dep: Upgrade gulp-babel to 8.0.0
|
|
322
|
-
- Switched to using mocha/nyc instead of karma for unit testing and coverage
|
|
323
|
-
- Npm build will now also lint code according to eslint spec
|
|
324
|
-
- Feat: Improve on validation for path handling on deepGet and deepSet
|
|
325
|
-
|
|
326
|
-
### Removed
|
|
327
|
-
- Feat: formdata/is
|
|
328
|
-
- Feat: Is.FormData
|
|
329
|
-
- Dep: webpack
|
|
330
|
-
- Dep: puppeteer
|
|
331
|
-
- Dep: karma-webpack
|
|
332
|
-
- Dep: karma-spec-reporter
|
|
333
|
-
- Dep: karma-jasmine
|
|
334
|
-
- Dep: karma-coverage
|
|
335
|
-
- Dep: karma-chrome-launcher
|
|
336
|
-
- Dep: karma
|
|
337
|
-
- Dep: jasmine-core
|
|
338
|
-
- Dep: babel-core
|
|
339
|
-
- Dep: babel-loader
|
|
340
|
-
- Dep: babel-preset-env
|
|
341
|
-
|
|
342
|
-
## [4.2.0] - 2021-11-05
|
|
343
|
-
### Added
|
|
344
|
-
- number/isBetween
|
|
345
|
-
- string/isNotEmpty
|
|
346
|
-
- string/isBetween
|
|
347
|
-
- object/isNotEmpty
|
|
348
|
-
- array/isNotEmpty
|
|
349
|
-
- New unified 'Is' object, containing easy access to almost all is* functions through single import
|
|
350
|
-
-- Is.Array
|
|
351
|
-
-- Is.NotEmptyArray
|
|
352
|
-
-- Is.Boolean
|
|
353
|
-
-- Is.Date
|
|
354
|
-
-- Is.FormData
|
|
355
|
-
-- Is.Function
|
|
356
|
-
-- Is.Number
|
|
357
|
-
-- Is.RegExp
|
|
358
|
-
-- Is.Object
|
|
359
|
-
-- Is.NotEmptyObject
|
|
360
|
-
-- Is.String
|
|
361
|
-
-- Is.NotEmptyString
|
|
362
|
-
|
|
363
|
-
### Improved
|
|
364
|
-
- isNumericalNaN now returns true for Infinity
|
|
365
|
-
|
|
366
|
-
### Fixed
|
|
367
|
-
- isNumber: no longer returns true for a numerical NaN, eg: isNumber(1/0) now returns false
|
|
368
|
-
- fnv1A: now converts NaN as a fixed 'NaN' for hash calculation
|
|
369
|
-
|
|
370
|
-
## [4.1.0] - 2021-02-01
|
|
371
|
-
### Added
|
|
372
|
-
- Functions/Sleep
|
|
373
|
-
|
|
374
|
-
## [4.0.0] - 2020-11-01
|
|
375
|
-
### Improved
|
|
376
|
-
- Switch folder structure to be single file per function, allowing for tree shaking to be applied more easily when being bundled
|
|
377
|
-
|
|
378
|
-
## [3.1.1] - 2018-11-23
|
|
379
|
-
### Added
|
|
380
|
-
- Codecoverage integration
|
|
381
|
-
- Testcase for Date and fnv1A hash
|
|
382
|
-
- Testcase for RegExp and fnv1A hash
|
|
383
|
-
- Testcase for unsupported properties and fnv1A hash
|
|
384
|
-
- Testcase for unsupported properties in deepSeal
|
|
385
|
-
- Testcase for unsupported properties in deepFreeze
|
|
386
|
-
|
|
387
|
-
### Fixed
|
|
388
|
-
- Fixed an issue where '' would come back as undefined in deepGet
|
|
389
|
-
|
|
390
|
-
## [3.1.0] - 2018-11-18
|
|
391
|
-
### Breaking
|
|
392
|
-
- Adjusted pick behavior to not set undefined as default and instead not return the key in the object
|
|
393
|
-
|
|
394
|
-
### Added
|
|
395
|
-
- toPercentage for Numeric utils
|
|
396
|
-
- Testcase for toPercentage for Numeric utils
|
|
397
|
-
|
|
398
|
-
## [3.0.2] - 2018-08-23
|
|
399
|
-
### Changed
|
|
400
|
-
- Removed license badge as not working
|
|
401
|
-
|
|
402
|
-
## [3.0.1] - 2018-08-23
|
|
403
|
-
### Added
|
|
404
|
-
- Badges on readme regarding build status, monthly downloads, version, license
|
|
405
|
-
|
|
406
|
-
### Changed
|
|
407
|
-
- Updated package.json file with better metadata
|
|
408
|
-
|
|
409
|
-
## [3.0.0] - 2018-08-23
|
|
410
|
-
### Added
|
|
411
|
-
- Testcases for Object utils
|
|
412
|
-
- Testcases for Caching utils
|
|
413
|
-
- Testcases for Hash utils
|
|
414
|
-
- Testcases for Function utils
|
|
415
|
-
- Testcases for FormData utils
|
|
416
|
-
- Testcases for Deep utils
|
|
417
|
-
- Testcases for Equal utils
|
|
418
|
-
- Testcases for Date utils
|
|
419
|
-
- Testcases for String utils
|
|
420
|
-
- Testcases for RegExp utils
|
|
421
|
-
- Testcases for Boolean utils
|
|
422
|
-
- Testcases for Array utils
|
|
423
|
-
- Testcases for Numeric utils
|
|
424
|
-
- Object : zip, added default_to variable to adjust the behavior of defaulting
|
|
425
|
-
- Number : round, round a function to a specific precision
|
|
426
|
-
- Number : randomBetween, generate a random number between a provided min and max
|
|
427
|
-
|
|
428
|
-
### Changed
|
|
429
|
-
- Update outdated dependencies
|
|
430
|
-
- Various bugfixes based on test results
|
|
431
|
-
- Object : forValues, you no longer need to apply the change to the object but simply return the changed value (see readme for example)
|
|
432
|
-
|
|
433
|
-
### Breaking
|
|
434
|
-
- Remove md5 hashing function as hashing was not correctly applied
|
|
435
|
-
|
|
436
|
-
## [2.4.0] - 2017-10-16
|
|
437
|
-
### Added
|
|
438
|
-
- Function : isFunction, validate whether or not a variable is a function
|
|
439
|
-
|
|
440
|
-
## [2.3.0] - 2017-10-15
|
|
441
|
-
### Added
|
|
442
|
-
- Object : forValues, utility function to loop over the values of an object and apply an identity callback to each
|
|
443
|
-
- Hash : fnv1A, hashing function based on fowler-noll-vo (fnv) that generates a hash based on a provided payload
|
|
444
|
-
- Array : dedupe, function that removes duplicates from an array
|
|
445
|
-
|
|
446
|
-
### Changed
|
|
447
|
-
- Caching : Memoize, adjust memoization to use fnv1A hashing function for internal cache storage and lookup
|
|
448
|
-
|
|
449
|
-
## [2.2.0] - 2017-10-14
|
|
450
|
-
### Added
|
|
451
|
-
- Number : isNumericalNaN, check if something is a strict numerical nan
|
|
452
|
-
- RegExp : isRegExp, validate whether or not a variable is a regex
|
|
453
|
-
- Function : noopresolve, resolve a promise without taking any action
|
|
454
|
-
- FormData : isFormData, validate whether or not a variable is a FormData object
|
|
455
|
-
|
|
456
|
-
### Changed
|
|
457
|
-
- Equal : Add NaN, RegExp and Date diffing
|
|
458
|
-
- Update outdated dependencies and add babel-core
|
|
459
|
-
|
|
460
|
-
### Breaking
|
|
461
|
-
- Adjust the default value for pick from undefined to null if the key doesn't exist
|
|
462
|
-
|
|
463
|
-
## [2.1.0] - 2017-08-21
|
|
464
|
-
### Added
|
|
465
|
-
- MIT License
|
|
466
|
-
|
|
467
|
-
## [2.0.0] - 2017-08-21
|
|
468
|
-
|
|
469
|
-
Initial Release
|
package/data/continents.json
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
[
|
|
2
|
-
{"name":"Africa", "code": "AF"},
|
|
3
|
-
{"name":"Antarctica", "code": "AN"},
|
|
4
|
-
{"name":"Asia", "code": "AS"},
|
|
5
|
-
{"name":"Europe", "code": "EU"},
|
|
6
|
-
{"name":"North America", "code": "NA"},
|
|
7
|
-
{"name":"Oceania", "code": "OC"},
|
|
8
|
-
{"name":"South America", "code": "SA"}
|
|
9
|
-
]
|