@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.
Files changed (73) hide show
  1. package/README.md +1 -1
  2. package/array/join.js +3 -6
  3. package/array/mapFn.js +5 -10
  4. package/array/mapKey.js +9 -11
  5. package/array/mapPrimitive.js +3 -8
  6. package/array/sort.js +10 -10
  7. package/boolean/is.js +1 -1
  8. package/caching/memoize.js +1 -3
  9. package/date/addUTC.js +3 -3
  10. package/date/diff.js +3 -3
  11. package/date/endOfUTC.js +3 -3
  12. package/date/is.js +1 -1
  13. package/date/startOfUTC.js +3 -3
  14. package/date/toUTC.js +3 -1
  15. package/date/toUnix.js +3 -1
  16. package/deep/freeze.js +2 -3
  17. package/deep/get.js +7 -9
  18. package/deep/seal.js +2 -3
  19. package/deep/set.js +6 -8
  20. package/equal.js +2 -4
  21. package/function/is.js +1 -1
  22. package/hash/fnv1A.js +4 -9
  23. package/object/define.js +1 -2
  24. package/object/is.js +1 -2
  25. package/object/isNotEmpty.js +1 -2
  26. package/object/merge.js +2 -3
  27. package/object/pick.js +8 -8
  28. package/package.json +4 -4
  29. package/regexp/is.js +1 -3
  30. package/regexp/sanitize.js +1 -4
  31. package/src/array/join.mjs +5 -7
  32. package/src/array/mapFn.mjs +5 -9
  33. package/src/array/mapKey.mjs +11 -11
  34. package/src/array/mapPrimitive.mjs +7 -6
  35. package/src/array/sort.mjs +11 -12
  36. package/src/boolean/is.mjs +1 -1
  37. package/src/caching/memoize.mjs +1 -3
  38. package/src/date/addUTC.mjs +3 -3
  39. package/src/date/diff.mjs +4 -4
  40. package/src/date/endOfUTC.mjs +3 -3
  41. package/src/date/is.mjs +1 -1
  42. package/src/date/startOfUTC.mjs +3 -3
  43. package/src/date/toUTC.mjs +3 -1
  44. package/src/date/toUnix.mjs +3 -1
  45. package/src/deep/freeze.mjs +2 -4
  46. package/src/deep/get.mjs +9 -8
  47. package/src/deep/seal.mjs +2 -4
  48. package/src/deep/set.mjs +8 -7
  49. package/src/equal.mjs +5 -7
  50. package/src/function/is.mjs +1 -1
  51. package/src/hash/fnv1A.mjs +4 -9
  52. package/src/object/define.mjs +2 -4
  53. package/src/object/is.mjs +1 -1
  54. package/src/object/isNotEmpty.mjs +1 -3
  55. package/src/object/merge.mjs +3 -5
  56. package/src/object/pick.mjs +13 -11
  57. package/src/regexp/is.mjs +1 -3
  58. package/src/regexp/sanitize.mjs +1 -3
  59. package/src/string/humanizeBytes.mjs +4 -6
  60. package/src/string/humanizeNumber.mjs +9 -11
  61. package/src/string/is.mjs +1 -1
  62. package/src/string/isBetween.mjs +1 -3
  63. package/src/string/isNotEmpty.mjs +1 -1
  64. package/src/string/shorten.mjs +7 -8
  65. package/string/humanizeBytes.js +4 -6
  66. package/string/humanizeNumber.js +6 -8
  67. package/string/is.js +1 -1
  68. package/string/isBetween.js +1 -4
  69. package/string/isNotEmpty.js +1 -1
  70. package/string/shorten.js +3 -7
  71. package/CHANGELOG.md +0 -469
  72. package/data/continents.json +0 -9
  73. 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
@@ -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
- ]