@ezez/utils 1.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/.prettierignore +3 -0
- package/.prettierrc.json +1 -0
- package/CHANGELOG.md +244 -0
- package/LICENSE +21 -0
- package/README.md +79 -0
- package/babel.config.cjs +6 -0
- package/dist/cap.d.ts +3 -0
- package/dist/cap.d.ts.map +1 -0
- package/dist/cap.js +14 -0
- package/dist/cap.js.map +1 -0
- package/dist/capitalize.d.ts +3 -0
- package/dist/capitalize.d.ts.map +1 -0
- package/dist/capitalize.js +9 -0
- package/dist/capitalize.js.map +1 -0
- package/dist/coalesce.d.ts +3 -0
- package/dist/coalesce.d.ts.map +1 -0
- package/dist/coalesce.js +14 -0
- package/dist/coalesce.js.map +1 -0
- package/dist/ensureArray.d.ts +3 -0
- package/dist/ensureArray.d.ts.map +1 -0
- package/dist/ensureArray.js +11 -0
- package/dist/ensureArray.js.map +1 -0
- package/dist/ensureError.d.ts +3 -0
- package/dist/ensureError.d.ts.map +1 -0
- package/dist/ensureError.js +11 -0
- package/dist/ensureError.js.map +1 -0
- package/dist/get.d.ts +7 -0
- package/dist/get.d.ts.map +1 -0
- package/dist/get.js +19 -0
- package/dist/get.js.map +1 -0
- package/dist/getMultiple.d.ts +7 -0
- package/dist/getMultiple.d.ts.map +1 -0
- package/dist/getMultiple.js +18 -0
- package/dist/getMultiple.js.map +1 -0
- package/dist/index.d.ts +33 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +49 -0
- package/dist/index.js.map +1 -0
- package/dist/insertSeparator.d.ts +3 -0
- package/dist/insertSeparator.d.ts.map +1 -0
- package/dist/insertSeparator.js +18 -0
- package/dist/insertSeparator.js.map +1 -0
- package/dist/isEmpty.d.ts +3 -0
- package/dist/isEmpty.d.ts.map +1 -0
- package/dist/isEmpty.js +26 -0
- package/dist/isEmpty.js.map +1 -0
- package/dist/isPlainObject.d.ts +3 -0
- package/dist/isPlainObject.d.ts.map +1 -0
- package/dist/isPlainObject.js +10 -0
- package/dist/isPlainObject.js.map +1 -0
- package/dist/last.d.ts +3 -0
- package/dist/last.d.ts.map +1 -0
- package/dist/last.js +6 -0
- package/dist/last.js.map +1 -0
- package/dist/mapAsync.d.ts +3 -0
- package/dist/mapAsync.d.ts.map +1 -0
- package/dist/mapAsync.js +22 -0
- package/dist/mapAsync.js.map +1 -0
- package/dist/mapValues.d.ts +6 -0
- package/dist/mapValues.d.ts.map +1 -0
- package/dist/mapValues.js +18 -0
- package/dist/mapValues.js.map +1 -0
- package/dist/match.d.ts +8 -0
- package/dist/match.d.ts.map +1 -0
- package/dist/match.js +20 -0
- package/dist/match.js.map +1 -0
- package/dist/merge.d.ts +15 -0
- package/dist/merge.d.ts.map +1 -0
- package/dist/merge.js +28 -0
- package/dist/merge.js.map +1 -0
- package/dist/mostFrequent.d.ts +3 -0
- package/dist/mostFrequent.d.ts.map +1 -0
- package/dist/mostFrequent.js +21 -0
- package/dist/mostFrequent.js.map +1 -0
- package/dist/noop.d.ts +3 -0
- package/dist/noop.d.ts.map +1 -0
- package/dist/noop.js +6 -0
- package/dist/noop.js.map +1 -0
- package/dist/omit.d.ts +5 -0
- package/dist/omit.d.ts.map +1 -0
- package/dist/omit.js +21 -0
- package/dist/omit.js.map +1 -0
- package/dist/package.json +1 -0
- package/dist/pick.d.ts +5 -0
- package/dist/pick.d.ts.map +1 -0
- package/dist/pick.js +20 -0
- package/dist/pick.js.map +1 -0
- package/dist/pull.d.ts +3 -0
- package/dist/pull.d.ts.map +1 -0
- package/dist/pull.js +14 -0
- package/dist/pull.js.map +1 -0
- package/dist/remove.d.ts +3 -0
- package/dist/remove.d.ts.map +1 -0
- package/dist/remove.js +18 -0
- package/dist/remove.js.map +1 -0
- package/dist/rethrow.d.ts +3 -0
- package/dist/rethrow.d.ts.map +1 -0
- package/dist/rethrow.js +8 -0
- package/dist/rethrow.js.map +1 -0
- package/dist/scale.d.ts +3 -0
- package/dist/scale.d.ts.map +1 -0
- package/dist/scale.js +8 -0
- package/dist/scale.js.map +1 -0
- package/dist/seq.d.ts +8 -0
- package/dist/seq.d.ts.map +1 -0
- package/dist/seq.js +45 -0
- package/dist/seq.js.map +1 -0
- package/dist/set.d.ts +7 -0
- package/dist/set.d.ts.map +1 -0
- package/dist/set.js +25 -0
- package/dist/set.js.map +1 -0
- package/dist/setImmutable.d.ts +8 -0
- package/dist/setImmutable.d.ts.map +1 -0
- package/dist/setImmutable.js +59 -0
- package/dist/setImmutable.js.map +1 -0
- package/dist/sortBy.d.ts +3 -0
- package/dist/sortBy.d.ts.map +1 -0
- package/dist/sortBy.js +15 -0
- package/dist/sortBy.js.map +1 -0
- package/dist/throttle.d.ts +13 -0
- package/dist/throttle.d.ts.map +1 -0
- package/dist/throttle.js +82 -0
- package/dist/throttle.js.map +1 -0
- package/dist/truthy.d.ts +3 -0
- package/dist/truthy.d.ts.map +1 -0
- package/dist/truthy.js +8 -0
- package/dist/truthy.js.map +1 -0
- package/dist/wait.d.ts +3 -0
- package/dist/wait.d.ts.map +1 -0
- package/dist/wait.js +10 -0
- package/dist/wait.js.map +1 -0
- package/dist/waitFor.d.ts +3 -0
- package/dist/waitFor.d.ts.map +1 -0
- package/dist/waitFor.js +34 -0
- package/dist/waitFor.js.map +1 -0
- package/dist/waitSync.d.ts +3 -0
- package/dist/waitSync.d.ts.map +1 -0
- package/dist/waitSync.js +9 -0
- package/dist/waitSync.js.map +1 -0
- package/docs/.nojekyll +1 -0
- package/docs/assets/highlight.css +78 -0
- package/docs/assets/main.js +58 -0
- package/docs/assets/pages.css +14 -0
- package/docs/assets/search.js +1 -0
- package/docs/assets/style.css +1280 -0
- package/docs/functions/cap.html +116 -0
- package/docs/functions/capitalize.html +121 -0
- package/docs/functions/coalesce.html +127 -0
- package/docs/functions/ensureArray.html +114 -0
- package/docs/functions/ensureError.html +110 -0
- package/docs/functions/get.html +138 -0
- package/docs/functions/getMultiple.html +129 -0
- package/docs/functions/insertSeparator.html +123 -0
- package/docs/functions/isEmpty.html +139 -0
- package/docs/functions/isPlainObject.html +108 -0
- package/docs/functions/last.html +126 -0
- package/docs/functions/mapAsync.html +144 -0
- package/docs/functions/mapValues.html +130 -0
- package/docs/functions/match.html +122 -0
- package/docs/functions/merge.html +464 -0
- package/docs/functions/mostFrequent.html +111 -0
- package/docs/functions/noop.html +101 -0
- package/docs/functions/omit.html +129 -0
- package/docs/functions/pick.html +129 -0
- package/docs/functions/pull.html +113 -0
- package/docs/functions/remove.html +129 -0
- package/docs/functions/rethrow.html +106 -0
- package/docs/functions/scale.html +117 -0
- package/docs/functions/seq.html +128 -0
- package/docs/functions/seqEarlyBreak.html +126 -0
- package/docs/functions/set.html +138 -0
- package/docs/functions/setImmutable.html +137 -0
- package/docs/functions/sortBy.html +135 -0
- package/docs/functions/throttle.html +131 -0
- package/docs/functions/truthy.html +118 -0
- package/docs/functions/wait.html +109 -0
- package/docs/functions/waitFor.html +130 -0
- package/docs/functions/waitSync.html +109 -0
- package/docs/index.html +182 -0
- package/docs/interfaces/GetMultipleSource.html +106 -0
- package/docs/interfaces/GetSource.html +106 -0
- package/docs/interfaces/SetImmutableSource.html +106 -0
- package/docs/interfaces/SetSource.html +106 -0
- package/docs/interfaces/ThrottleOptions.html +80 -0
- package/docs/interfaces/ThrottledFunctionExtras.html +96 -0
- package/docs/modules.html +152 -0
- package/docs/pages/Introduction.html +94 -0
- package/docs/types/MapValuesFn.html +134 -0
- package/docs/types/MatchCallback.html +113 -0
- package/docs/types/SeqEarlyBreaker.html +114 -0
- package/docs/types/SeqFn.html +112 -0
- package/docs/types/SeqFunctions.html +105 -0
- package/docs/types/SetImmutablePath.html +99 -0
- package/docs/types/ThrottledFunction.html +113 -0
- package/docs/variables/mapValuesUNSET.html +101 -0
- package/docs/variables/mergeUNSET.html +103 -0
- package/esm/cap.d.ts +3 -0
- package/esm/cap.d.ts.map +1 -0
- package/esm/cap.js +11 -0
- package/esm/cap.js.map +1 -0
- package/esm/capitalize.d.ts +3 -0
- package/esm/capitalize.d.ts.map +1 -0
- package/esm/capitalize.js +6 -0
- package/esm/capitalize.js.map +1 -0
- package/esm/coalesce.d.ts +3 -0
- package/esm/coalesce.d.ts.map +1 -0
- package/esm/coalesce.js +11 -0
- package/esm/coalesce.js.map +1 -0
- package/esm/ensureArray.d.ts +3 -0
- package/esm/ensureArray.d.ts.map +1 -0
- package/esm/ensureArray.js +8 -0
- package/esm/ensureArray.js.map +1 -0
- package/esm/ensureError.d.ts +3 -0
- package/esm/ensureError.d.ts.map +1 -0
- package/esm/ensureError.js +8 -0
- package/esm/ensureError.js.map +1 -0
- package/esm/get.d.ts +7 -0
- package/esm/get.d.ts.map +1 -0
- package/esm/get.js +16 -0
- package/esm/get.js.map +1 -0
- package/esm/getMultiple.d.ts +7 -0
- package/esm/getMultiple.d.ts.map +1 -0
- package/esm/getMultiple.js +15 -0
- package/esm/getMultiple.js.map +1 -0
- package/esm/index.d.ts +33 -0
- package/esm/index.d.ts.map +1 -0
- package/esm/index.js +33 -0
- package/esm/index.js.map +1 -0
- package/esm/insertSeparator.d.ts +3 -0
- package/esm/insertSeparator.d.ts.map +1 -0
- package/esm/insertSeparator.js +15 -0
- package/esm/insertSeparator.js.map +1 -0
- package/esm/isEmpty.d.ts +3 -0
- package/esm/isEmpty.d.ts.map +1 -0
- package/esm/isEmpty.js +23 -0
- package/esm/isEmpty.js.map +1 -0
- package/esm/isPlainObject.d.ts +3 -0
- package/esm/isPlainObject.d.ts.map +1 -0
- package/esm/isPlainObject.js +7 -0
- package/esm/isPlainObject.js.map +1 -0
- package/esm/last.d.ts +3 -0
- package/esm/last.d.ts.map +1 -0
- package/esm/last.js +3 -0
- package/esm/last.js.map +1 -0
- package/esm/mapAsync.d.ts +3 -0
- package/esm/mapAsync.d.ts.map +1 -0
- package/esm/mapAsync.js +19 -0
- package/esm/mapAsync.js.map +1 -0
- package/esm/mapValues.d.ts +6 -0
- package/esm/mapValues.d.ts.map +1 -0
- package/esm/mapValues.js +14 -0
- package/esm/mapValues.js.map +1 -0
- package/esm/match.d.ts +8 -0
- package/esm/match.d.ts.map +1 -0
- package/esm/match.js +17 -0
- package/esm/match.js.map +1 -0
- package/esm/merge.d.ts +15 -0
- package/esm/merge.d.ts.map +1 -0
- package/esm/merge.js +24 -0
- package/esm/merge.js.map +1 -0
- package/esm/mostFrequent.d.ts +3 -0
- package/esm/mostFrequent.d.ts.map +1 -0
- package/esm/mostFrequent.js +18 -0
- package/esm/mostFrequent.js.map +1 -0
- package/esm/noop.d.ts +3 -0
- package/esm/noop.d.ts.map +1 -0
- package/esm/noop.js +3 -0
- package/esm/noop.js.map +1 -0
- package/esm/omit.d.ts +5 -0
- package/esm/omit.d.ts.map +1 -0
- package/esm/omit.js +20 -0
- package/esm/omit.js.map +1 -0
- package/esm/pick.d.ts +5 -0
- package/esm/pick.d.ts.map +1 -0
- package/esm/pick.js +17 -0
- package/esm/pick.js.map +1 -0
- package/esm/pull.d.ts +3 -0
- package/esm/pull.d.ts.map +1 -0
- package/esm/pull.js +11 -0
- package/esm/pull.js.map +1 -0
- package/esm/remove.d.ts +3 -0
- package/esm/remove.d.ts.map +1 -0
- package/esm/remove.js +15 -0
- package/esm/remove.js.map +1 -0
- package/esm/rethrow.d.ts +3 -0
- package/esm/rethrow.d.ts.map +1 -0
- package/esm/rethrow.js +5 -0
- package/esm/rethrow.js.map +1 -0
- package/esm/scale.d.ts +3 -0
- package/esm/scale.d.ts.map +1 -0
- package/esm/scale.js +5 -0
- package/esm/scale.js.map +1 -0
- package/esm/seq.d.ts +8 -0
- package/esm/seq.d.ts.map +1 -0
- package/esm/seq.js +41 -0
- package/esm/seq.js.map +1 -0
- package/esm/set.d.ts +7 -0
- package/esm/set.d.ts.map +1 -0
- package/esm/set.js +22 -0
- package/esm/set.js.map +1 -0
- package/esm/setImmutable.d.ts +8 -0
- package/esm/setImmutable.d.ts.map +1 -0
- package/esm/setImmutable.js +56 -0
- package/esm/setImmutable.js.map +1 -0
- package/esm/sortBy.d.ts +3 -0
- package/esm/sortBy.d.ts.map +1 -0
- package/esm/sortBy.js +12 -0
- package/esm/sortBy.js.map +1 -0
- package/esm/throttle.d.ts +13 -0
- package/esm/throttle.d.ts.map +1 -0
- package/esm/throttle.js +79 -0
- package/esm/throttle.js.map +1 -0
- package/esm/truthy.d.ts +3 -0
- package/esm/truthy.d.ts.map +1 -0
- package/esm/truthy.js +5 -0
- package/esm/truthy.js.map +1 -0
- package/esm/wait.d.ts +3 -0
- package/esm/wait.d.ts.map +1 -0
- package/esm/wait.js +7 -0
- package/esm/wait.js.map +1 -0
- package/esm/waitFor.d.ts +3 -0
- package/esm/waitFor.d.ts.map +1 -0
- package/esm/waitFor.js +31 -0
- package/esm/waitFor.js.map +1 -0
- package/esm/waitSync.d.ts +3 -0
- package/esm/waitSync.d.ts.map +1 -0
- package/esm/waitSync.js +6 -0
- package/esm/waitSync.js.map +1 -0
- package/package.json +75 -0
- package/src/cap.spec.ts +36 -0
- package/src/cap.ts +19 -0
- package/src/capitalize.spec.ts +18 -0
- package/src/capitalize.ts +16 -0
- package/src/coalesce.spec.ts +23 -0
- package/src/coalesce.ts +21 -0
- package/src/ensureArray.spec.ts +87 -0
- package/src/ensureArray.ts +13 -0
- package/src/ensureError.spec.ts +29 -0
- package/src/ensureError.ts +15 -0
- package/src/get.spec.ts +183 -0
- package/src/get.ts +53 -0
- package/src/getMultiple.spec.ts +25 -0
- package/src/getMultiple.ts +47 -0
- package/src/index.ts +33 -0
- package/src/insertSeparator.spec.ts +29 -0
- package/src/insertSeparator.ts +22 -0
- package/src/isEmpty.spec.ts +130 -0
- package/src/isEmpty.ts +50 -0
- package/src/isPlainObject.spec.ts +42 -0
- package/src/isPlainObject.ts +18 -0
- package/src/last.spec.ts +88 -0
- package/src/last.ts +12 -0
- package/src/mapAsync.spec.ts +39 -0
- package/src/mapAsync.ts +41 -0
- package/src/mapValues.spec.ts +178 -0
- package/src/mapValues.ts +57 -0
- package/src/match.spec.ts +11 -0
- package/src/match.ts +30 -0
- package/src/merge.spec.ts +69 -0
- package/src/merge.ts +58 -0
- package/src/mostFrequent.spec.ts +35 -0
- package/src/mostFrequent.ts +27 -0
- package/src/noop.ts +8 -0
- package/src/omit.spec.ts +181 -0
- package/src/omit.ts +43 -0
- package/src/pick.spec.ts +168 -0
- package/src/pick.ts +39 -0
- package/src/pull.spec.ts +54 -0
- package/src/pull.ts +18 -0
- package/src/remove.spec.ts +63 -0
- package/src/remove.ts +26 -0
- package/src/rethrow.ts +12 -0
- package/src/scale.ts +18 -0
- package/src/seq.spec.ts +157 -0
- package/src/seq.ts +104 -0
- package/src/set.spec.ts +348 -0
- package/src/set.ts +59 -0
- package/src/setImmutable.spec.ts +241 -0
- package/src/setImmutable.ts +104 -0
- package/src/sortBy.spec.ts +56 -0
- package/src/sortBy.ts +24 -0
- package/src/throttle.spec.ts +136 -0
- package/src/throttle.ts +153 -0
- package/src/truthy.spec.ts +21 -0
- package/src/truthy.ts +13 -0
- package/src/wait.spec.ts +21 -0
- package/src/wait.ts +14 -0
- package/src/waitFor.ts +47 -0
- package/src/waitSync.spec.ts +21 -0
- package/src/waitSync.ts +14 -0
- package/tutorials/Introduction.md +1 -0
package/.prettierignore
ADDED
package/.prettierrc.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{}
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
All notable changes to this project will be documented in this file.
|
|
2
|
+
|
|
3
|
+
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
|
|
4
|
+
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
|
5
|
+
|
|
6
|
+
## [0.24.1+]
|
|
7
|
+
### Dev
|
|
8
|
+
- added missing docs
|
|
9
|
+
- fixed some jsdoc strings (so they contain types for non-ts users)
|
|
10
|
+
- fixed typedoc warnings
|
|
11
|
+
- README update, preparing to rename library
|
|
12
|
+
### Breaking
|
|
13
|
+
- changed `isEmpty` to throw on primitives
|
|
14
|
+
- `makeArray` is renamed to `ensureArray`
|
|
15
|
+
- `wait.sync` is extracted as `waitSync`
|
|
16
|
+
- removed `pack` method
|
|
17
|
+
- removed `pages` method
|
|
18
|
+
- replaced `merge.UNSET` with `mergeUNSET`
|
|
19
|
+
- replaced `mapValues.REMOVE` with `mapValuesUNSET`
|
|
20
|
+
### Changed
|
|
21
|
+
- added some examples to docs
|
|
22
|
+
- in jsdoc added a warning to get/set and family about using them with TS
|
|
23
|
+
### Added
|
|
24
|
+
- `isPlainObject` method
|
|
25
|
+
|
|
26
|
+
## [0.24.1] - 2022-11-08
|
|
27
|
+
### Dev
|
|
28
|
+
- exported some typings
|
|
29
|
+
- library template bump
|
|
30
|
+
|
|
31
|
+
## [0.24.0] - 2022-09-23
|
|
32
|
+
### Added
|
|
33
|
+
- `pull` method
|
|
34
|
+
### Changed
|
|
35
|
+
- `throttle` with multiple timeouts working more as intended with `opts.leading` = true
|
|
36
|
+
### Fixed
|
|
37
|
+
- first timeout of `throttle` with multiple timeouts repeated two times
|
|
38
|
+
|
|
39
|
+
## [0.23.2] - 2022-08-21
|
|
40
|
+
### Fixed
|
|
41
|
+
- `throttle` with trailing call not respecting multiple timeouts
|
|
42
|
+
- `truthy` typings
|
|
43
|
+
|
|
44
|
+
## [0.23.1] - 2022-07-17
|
|
45
|
+
### Fixed
|
|
46
|
+
- missing `mostFrequent` export
|
|
47
|
+
|
|
48
|
+
## [0.23.0] - 2022-07-17
|
|
49
|
+
### Added
|
|
50
|
+
- `mostFrequent` method
|
|
51
|
+
|
|
52
|
+
## [0.22.0] - 2022-07-16
|
|
53
|
+
### Added
|
|
54
|
+
- `capitalize` method
|
|
55
|
+
### Fixed
|
|
56
|
+
- `throttle` reset not resetting array of times
|
|
57
|
+
|
|
58
|
+
## [0.21.0] - 2022-07-08
|
|
59
|
+
### Added
|
|
60
|
+
- `throttle` method
|
|
61
|
+
|
|
62
|
+
## [0.20.0] - 2022-07-03
|
|
63
|
+
### Added
|
|
64
|
+
- `ensureError` method
|
|
65
|
+
|
|
66
|
+
## [0.19.1] - 2022-04-27
|
|
67
|
+
### Fixed
|
|
68
|
+
- new methods not exported
|
|
69
|
+
|
|
70
|
+
## [0.19.0] - 2022-04-27
|
|
71
|
+
### Added
|
|
72
|
+
- `scale`, `truthy`, `waitFor`, `cap` methods
|
|
73
|
+
### Changed
|
|
74
|
+
- improved types for `insertSeparator`
|
|
75
|
+
- added/improved jsdoc to `mapAsync`, `match`, `merge`, `noop`, `rethrow`
|
|
76
|
+
### Breaking
|
|
77
|
+
- `seq` no longer uses nor exports custom error
|
|
78
|
+
|
|
79
|
+
## [0.18.0] - 2021-12-04
|
|
80
|
+
### Added
|
|
81
|
+
- `wait` method
|
|
82
|
+
- `mapAsync` method
|
|
83
|
+
|
|
84
|
+
## [0.17.1] - 2021-10-31
|
|
85
|
+
### Fixed
|
|
86
|
+
- missing `merge` export
|
|
87
|
+
|
|
88
|
+
## [0.17.0] - 2021-10-31
|
|
89
|
+
### Added
|
|
90
|
+
- `merge` method
|
|
91
|
+
### Changed
|
|
92
|
+
- `REMOVE` special property in `mapValues` now uses Symbols if available
|
|
93
|
+
|
|
94
|
+
## [0.16.0] - 2021-09-24
|
|
95
|
+
### Added
|
|
96
|
+
- `noop` and `rethrow` methods
|
|
97
|
+
|
|
98
|
+
## [0.15.0] - 2021-07-04
|
|
99
|
+
### Added
|
|
100
|
+
- `seq` with early break mode
|
|
101
|
+
### Changed
|
|
102
|
+
- upgraded typings for `last`
|
|
103
|
+
|
|
104
|
+
## [0.14.1] - 2021-06-13
|
|
105
|
+
### Changed
|
|
106
|
+
- upgraded typings for `pick`, `omit`, `pack`, `sortBy`
|
|
107
|
+
|
|
108
|
+
## [0.14.0] - 2021-06-05
|
|
109
|
+
### Changed
|
|
110
|
+
- upgraded typings for sortBy
|
|
111
|
+
### Added
|
|
112
|
+
- `seq` method
|
|
113
|
+
|
|
114
|
+
## [0.13.2] - 2021-05-16
|
|
115
|
+
### Changed
|
|
116
|
+
- upgraded typings for pick, omit, get, getMultiple, mapValues, set, setImmutable, sortBy
|
|
117
|
+
|
|
118
|
+
## [0.13.1] - 2021-04-14
|
|
119
|
+
### Changed
|
|
120
|
+
- upgraded typings for mapValues
|
|
121
|
+
### Dev
|
|
122
|
+
- fixed invalid name in `types` package.json field
|
|
123
|
+
- bumped some deps
|
|
124
|
+
- added missing testcase for mapValues
|
|
125
|
+
|
|
126
|
+
## [0.13.0] - 2021-02-03
|
|
127
|
+
### Added
|
|
128
|
+
- `match` method
|
|
129
|
+
- `pack` method
|
|
130
|
+
- `sortBy` method
|
|
131
|
+
|
|
132
|
+
## [0.12.0] - 2021-01-19
|
|
133
|
+
### Added
|
|
134
|
+
- `makeArray` method
|
|
135
|
+
|
|
136
|
+
## [0.11.0-beta.2] - 2021-01-08
|
|
137
|
+
### Dev
|
|
138
|
+
- add basic TypeScript support
|
|
139
|
+
- replaced mocha with jest
|
|
140
|
+
- replaced jsdoc with typedoc
|
|
141
|
+
### Changed
|
|
142
|
+
- small README update
|
|
143
|
+
|
|
144
|
+
## [0.10.1] - 2020-09-14
|
|
145
|
+
### Fixed
|
|
146
|
+
- `pages` export
|
|
147
|
+
|
|
148
|
+
## [0.10.0] - 2020-09-14
|
|
149
|
+
### Added
|
|
150
|
+
- `pages` method
|
|
151
|
+
|
|
152
|
+
## [0.9.0] - 2020-07-09
|
|
153
|
+
### Added
|
|
154
|
+
- `remove` method
|
|
155
|
+
|
|
156
|
+
## [0.8.0] - 2020-03-13
|
|
157
|
+
### Fixed
|
|
158
|
+
- CommonJS code still not working properly
|
|
159
|
+
### Changed
|
|
160
|
+
- `REMOVE` enum from mapValues attached to the function instead of extra export
|
|
161
|
+
- better native ESM support
|
|
162
|
+
|
|
163
|
+
## [0.7.1] - 2020-03-12
|
|
164
|
+
### Fixed
|
|
165
|
+
- CommonJS code not working properly
|
|
166
|
+
|
|
167
|
+
## [0.7.0] - 2020-03-10
|
|
168
|
+
### Added
|
|
169
|
+
- native ESM support
|
|
170
|
+
### Changed
|
|
171
|
+
- upgraded deps
|
|
172
|
+
### Removed
|
|
173
|
+
- support for deep imports like: `bottom-line-utils/get`, use `bottom-line-utils/src/get` or
|
|
174
|
+
`bottom-line-utils/dist/get` for now
|
|
175
|
+
|
|
176
|
+
## [0.6.3] - 2019-08-29
|
|
177
|
+
### Fixed
|
|
178
|
+
- dev deps audit issues
|
|
179
|
+
|
|
180
|
+
## [0.6.2] - 2019-06-06
|
|
181
|
+
### Fixed
|
|
182
|
+
- deps audit issue, related to development (eslint), not the code (0.6.2 is not released to npm as a result)
|
|
183
|
+
|
|
184
|
+
## [0.6.1] - 2019-06-05
|
|
185
|
+
### Fixed
|
|
186
|
+
- deps audit issue, related to docs generating, not the code (0.6.1 is not released to npm as a result)
|
|
187
|
+
|
|
188
|
+
## [0.6.0] - 2019-05-12
|
|
189
|
+
### Added
|
|
190
|
+
- `pick` and `omit` methods
|
|
191
|
+
### Changed
|
|
192
|
+
- babel config for `dist` transpiled code upgraded, to transpile less features
|
|
193
|
+
|
|
194
|
+
## [0.5.0] - 2019-04-09
|
|
195
|
+
### Added
|
|
196
|
+
- `coalesce` method
|
|
197
|
+
|
|
198
|
+
## [0.4.1] - 2019-01-31
|
|
199
|
+
### Fixed
|
|
200
|
+
- `setImmutable` not allowing number as path and allowing other incorrect/unexpected values as paths
|
|
201
|
+
|
|
202
|
+
## [0.4.0] - 2019-01-30
|
|
203
|
+
### Added
|
|
204
|
+
- `insertSeparator` method
|
|
205
|
+
|
|
206
|
+
## [0.3.1] - 2018-12-09
|
|
207
|
+
### Fixed
|
|
208
|
+
- added missing export of `setImmutable` to index
|
|
209
|
+
|
|
210
|
+
## [0.3.0] - 2018-12-09
|
|
211
|
+
### Fixed
|
|
212
|
+
- missing labels in `set` tests
|
|
213
|
+
- disabled removing unused labels in tests
|
|
214
|
+
### Changed
|
|
215
|
+
- improved one `set` test
|
|
216
|
+
### Added
|
|
217
|
+
- `setImmutable` method
|
|
218
|
+
|
|
219
|
+
## [0.2.0] 2018-12-09
|
|
220
|
+
### Added
|
|
221
|
+
- `set` function
|
|
222
|
+
- @todo for get/set methods, that should test and support correctly Sets, Maps, etc.
|
|
223
|
+
- dev stuff: linter, editorconfig
|
|
224
|
+
|
|
225
|
+
### Changed
|
|
226
|
+
- upgraded library template
|
|
227
|
+
- switched code to es modules
|
|
228
|
+
- linted code
|
|
229
|
+
|
|
230
|
+
## [0.1.2] - 2018-11-09
|
|
231
|
+
### Fixed
|
|
232
|
+
- fixed `mapValues` calling the method twice
|
|
233
|
+
|
|
234
|
+
## [0.1.1] - 2018-05-31
|
|
235
|
+
### Changed
|
|
236
|
+
- README update
|
|
237
|
+
|
|
238
|
+
## [0.1.0] - 2018-05-31
|
|
239
|
+
### Added
|
|
240
|
+
- `get` function
|
|
241
|
+
- `getMultiple` function
|
|
242
|
+
- `isEmpty` function
|
|
243
|
+
- `last` function
|
|
244
|
+
- `mapValues` function
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2021 Jacek Nowacki
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# @ezez/utils
|
|
2
|
+
|
|
3
|
+
> Formerly: bottom-line-utils, but I never liked the name
|
|
4
|
+
|
|
5
|
+
A tiny and fast utils library.
|
|
6
|
+
|
|
7
|
+
## Documentation
|
|
8
|
+
|
|
9
|
+
Documentation can be found here: [documentation](https://ezez.dev/docs/utils/latest).
|
|
10
|
+
|
|
11
|
+
## Installing
|
|
12
|
+
|
|
13
|
+
`npm install @ezez/utils`
|
|
14
|
+
|
|
15
|
+
## Motivation
|
|
16
|
+
|
|
17
|
+
Lodash complexity that causes big bundle sizes just for using single function (even with tree shaking!).
|
|
18
|
+
|
|
19
|
+
Lodash is trying to cover each possible use case, even very rare while typical observed use case of lodash is basic
|
|
20
|
+
methods used on basic data. As an example, let's take a `_.pick` method that simply returns an object, based on source
|
|
21
|
+
object, with just some properties copied. Easy, right? Few lines of code? Lodash makes that 114 imports!
|
|
22
|
+
|
|
23
|
+
`@ezez/utils` aims to:
|
|
24
|
+
- cover only most typical use cases of given functions,
|
|
25
|
+
- add useful methods that are missing in lodash,
|
|
26
|
+
- NOT being 100% compatible replacement for lodash/underscore, while keeping MOST behavior identical,
|
|
27
|
+
- not being a "polyfill" (no `map`/`forEach` functions etc.),
|
|
28
|
+
- perform fast and have code size small.
|
|
29
|
+
|
|
30
|
+
## Supported methods
|
|
31
|
+
|
|
32
|
+
- `cap` - cap a value between lower and upper bound
|
|
33
|
+
- `capitalize` - capitalize a string, optionally lower casing the rest
|
|
34
|
+
- `coalesce` - return first non-nullish value
|
|
35
|
+
- `ensureArray` - ensure that given value is an array
|
|
36
|
+
- `ensureError` - ensure that given value is an error
|
|
37
|
+
- `get` - extract a value from a deep object using specified path, optionally with a default value
|
|
38
|
+
- `getMultiple` - same as above, but test multiple paths
|
|
39
|
+
- `insertSeparator` - insert a separator between every character in an array
|
|
40
|
+
- `isEmpty` - check if given value is empty
|
|
41
|
+
- `isPlainObject` - check if given value is a plain object
|
|
42
|
+
- `last` - get last element of an array
|
|
43
|
+
- `mapAsync` - map an array asynchronously if sync version blocks your event loop for too long
|
|
44
|
+
- `mapValues` - map values of an object
|
|
45
|
+
- `match` - split your array into two groups - one that matches given predicate, and one that doesn't
|
|
46
|
+
- `merge` - merge two objects shallowly, allowing to remove properties while doing so
|
|
47
|
+
- `mostFrequent` - find most frequent value in an array
|
|
48
|
+
- `noop` - do nothing
|
|
49
|
+
- `omit` - omit properties from an object
|
|
50
|
+
- `pick` - pick some properties from an object
|
|
51
|
+
- `pull` - remove values from an array (by mutating)
|
|
52
|
+
- `remove` - remove values from an array (by mutating) using predicate function and return removed values
|
|
53
|
+
- `rethrow` - throw given value
|
|
54
|
+
- `scale` - scale given value from old range to new range
|
|
55
|
+
- `seq` - sequentially execute Promise-returning functions until one returns a value
|
|
56
|
+
- `set` - set a value in a deep object using specified path
|
|
57
|
+
- `setImmutable` - set a value in a deep object using specified path, but return a new object
|
|
58
|
+
- `sortBy` - sort an array by given property (create callback function for `Array.prototype.sort`)
|
|
59
|
+
- `throttle` - throttle a function, very configurable
|
|
60
|
+
- `truthy` - is value truthy? (useful for filtering with more correct TypeScript support than `filter(Boolean)`)
|
|
61
|
+
- `wait` - wait given amount of time (async)
|
|
62
|
+
- `waitSync` - wait given amount of time (sync)
|
|
63
|
+
- `waitFor` - wait for a condition to be true, checking every given amount of time
|
|
64
|
+
|
|
65
|
+
Methods will be added as I need them. I am open for suggestions and PRs. See next heading for list of methods that I
|
|
66
|
+
want to add.
|
|
67
|
+
|
|
68
|
+
## Methods to be supported
|
|
69
|
+
|
|
70
|
+
(TODO)
|
|
71
|
+
- debounce
|
|
72
|
+
|
|
73
|
+
## Tested
|
|
74
|
+
|
|
75
|
+
This library is fully unit tested and can be used on production. See License.
|
|
76
|
+
|
|
77
|
+
## License
|
|
78
|
+
|
|
79
|
+
MIT
|
package/babel.config.cjs
ADDED
package/dist/cap.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cap.d.ts","sourceRoot":"","sources":["../src/cap.ts"],"names":[],"mappings":"AAMA,QAAA,MAAM,GAAG,UAAW,MAAM,cAAc,MAAM,eAAe,MAAM,WAQlE,CAAC;AAEF,OAAO,EACH,GAAG,GACN,CAAC"}
|
package/dist/cap.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cap = void 0;
|
|
4
|
+
const cap = (value, upperLimit, lowerLimit) => {
|
|
5
|
+
if (lowerLimit == null) {
|
|
6
|
+
return Math.min(value, upperLimit);
|
|
7
|
+
}
|
|
8
|
+
if (upperLimit < lowerLimit) {
|
|
9
|
+
throw new TypeError("upperLimit must be greater than lowerLimit");
|
|
10
|
+
}
|
|
11
|
+
return Math.min(upperLimit, Math.max(lowerLimit, value));
|
|
12
|
+
};
|
|
13
|
+
exports.cap = cap;
|
|
14
|
+
//# sourceMappingURL=cap.js.map
|
package/dist/cap.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cap.js","sourceRoot":"","sources":["../src/cap.ts"],"names":[],"mappings":";;;AAMA,MAAM,GAAG,GAAG,CAAC,KAAa,EAAE,UAAkB,EAAE,UAAmB,EAAE,EAAE;IACnE,IAAI,UAAU,IAAI,IAAI,EAAE;QACpB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;KACtC;IACD,IAAI,UAAU,GAAG,UAAU,EAAE;QACzB,MAAM,IAAI,SAAS,CAAC,4CAA4C,CAAC,CAAC;KACrE;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC;AAGE,kBAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capitalize.d.ts","sourceRoot":"","sources":["../src/capitalize.ts"],"names":[],"mappings":"AAQA,QAAA,MAAM,UAAU,SAAU,MAAM,oCAG/B,CAAC;AAEF,OAAO,EACH,UAAU,GACb,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.capitalize = void 0;
|
|
4
|
+
const capitalize = (text, restLowercase = false) => {
|
|
5
|
+
const rest = restLowercase ? text.slice(1).toLowerCase() : text.slice(1);
|
|
6
|
+
return text.charAt(0).toUpperCase() + rest;
|
|
7
|
+
};
|
|
8
|
+
exports.capitalize = capitalize;
|
|
9
|
+
//# sourceMappingURL=capitalize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capitalize.js","sourceRoot":"","sources":["../src/capitalize.ts"],"names":[],"mappings":";;;AAQA,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,aAAa,GAAG,KAAK,EAAE,EAAE;IACvD,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC;AAC/C,CAAC,CAAC;AAGE,gCAAU"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coalesce.d.ts","sourceRoot":"","sources":["../src/coalesce.ts"],"names":[],"mappings":"AAUA,QAAA,MAAM,QAAQ,4CAQb,CAAC;AAEF,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
package/dist/coalesce.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.coalesce = void 0;
|
|
4
|
+
const coalesce = (...args) => {
|
|
5
|
+
for (let i = 0; i < args.length; i++) {
|
|
6
|
+
const item = args[i];
|
|
7
|
+
if (item != null) {
|
|
8
|
+
return item;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
return null;
|
|
12
|
+
};
|
|
13
|
+
exports.coalesce = coalesce;
|
|
14
|
+
//# sourceMappingURL=coalesce.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coalesce.js","sourceRoot":"","sources":["../src/coalesce.ts"],"names":[],"mappings":";;;AAUA,MAAM,QAAQ,GAAG,CAAI,GAAG,IAAS,EAAyB,EAAE;IACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,IAAI,IAAI,IAAI,EAAE;YACd,OAAO,IAAI,CAAC;SACf;KACJ;IACD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEO,4BAAQ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensureArray.d.ts","sourceRoot":"","sources":["../src/ensureArray.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,WAAW,4BAKhB,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ensureArray = void 0;
|
|
4
|
+
const ensureArray = (value) => {
|
|
5
|
+
if (Array.isArray(value)) {
|
|
6
|
+
return value;
|
|
7
|
+
}
|
|
8
|
+
return [value];
|
|
9
|
+
};
|
|
10
|
+
exports.ensureArray = ensureArray;
|
|
11
|
+
//# sourceMappingURL=ensureArray.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensureArray.js","sourceRoot":"","sources":["../src/ensureArray.ts"],"names":[],"mappings":";;;AAKA,MAAM,WAAW,GAAG,CAAI,KAAc,EAAO,EAAE;IAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACtB,OAAO,KAAK,CAAC;KAChB;IACD,OAAO,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC,CAAC;AAEO,kCAAW"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensureError.d.ts","sourceRoot":"","sources":["../src/ensureError.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,WAAW,MAAO,OAAO,UAK9B,CAAC;AAEF,OAAO,EACH,WAAW,GACd,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ensureError = void 0;
|
|
4
|
+
const ensureError = (e) => {
|
|
5
|
+
if (e instanceof Error) {
|
|
6
|
+
return e;
|
|
7
|
+
}
|
|
8
|
+
return new Error("Expected error instance, got something else: " + String(e));
|
|
9
|
+
};
|
|
10
|
+
exports.ensureError = ensureError;
|
|
11
|
+
//# sourceMappingURL=ensureError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensureError.js","sourceRoot":"","sources":["../src/ensureError.ts"],"names":[],"mappings":";;;AAKA,MAAM,WAAW,GAAG,CAAC,CAAU,EAAE,EAAE;IAC/B,IAAI,CAAC,YAAY,KAAK,EAAE;QACpB,OAAO,CAAC,CAAC;KACZ;IACD,OAAO,IAAI,KAAK,CAAC,+CAA+C,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAClF,CAAC,CAAC;AAGE,kCAAW"}
|
package/dist/get.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../src/get.ts"],"names":[],"mappings":"AAKA,UAAU,MAAM;IAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE;AA2B3C,QAAA,MAAM,GAAG,WAAY,MAAM,YAAY,MAAM,GAAG,MAAM,EAAE,iBAAgB,OAAO,KAAe,OAc7F,CAAC;AAEF,OAAO,EAAE,GAAG,EAAE,CAAC;AAEf,YAAY,EACR,MAAM,IAAI,SAAS,GACtB,CAAC"}
|
package/dist/get.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.get = void 0;
|
|
4
|
+
const get = (source, property, defaultValue = undefined) => {
|
|
5
|
+
const properties = typeof property === "string" ? property.split(".") : [...property];
|
|
6
|
+
let result = source;
|
|
7
|
+
while (properties.length) {
|
|
8
|
+
const current = properties.shift();
|
|
9
|
+
if (result && typeof result === "object" && current in result) {
|
|
10
|
+
result = result[current];
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
return defaultValue;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
return result;
|
|
17
|
+
};
|
|
18
|
+
exports.get = get;
|
|
19
|
+
//# sourceMappingURL=get.js.map
|
package/dist/get.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../src/get.ts"],"names":[],"mappings":";;;AAgCA,MAAM,GAAG,GAAG,CAAC,MAAc,EAAE,QAA2B,EAAE,eAAwB,SAAS,EAAW,EAAE;IACpG,MAAM,UAAU,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC;IAEtF,IAAI,MAAM,GAAY,MAAM,CAAC;IAC7B,OAAO,UAAU,CAAC,MAAM,EAAE;QACtB,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,EAAG,CAAC;QACpC,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,IAAI,MAAM,EAAE;YAC3D,MAAM,GAAI,MAAiB,CAAC,OAAO,CAAC,CAAC;SACxC;aACI;YACD,OAAO,YAAY,CAAC;SACvB;KACJ;IACD,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAEO,kBAAG"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
interface Source {
|
|
2
|
+
[key: string]: unknown;
|
|
3
|
+
}
|
|
4
|
+
declare const getMultiple: (source: Source, defaultValue: unknown, ...paths: (string | string[])[]) => unknown;
|
|
5
|
+
export { getMultiple };
|
|
6
|
+
export type { Source as GetMultipleSource, };
|
|
7
|
+
//# sourceMappingURL=getMultiple.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getMultiple.d.ts","sourceRoot":"","sources":["../src/getMultiple.ts"],"names":[],"mappings":"AAOA,UAAU,MAAM;IAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE;AAuB3C,QAAA,MAAM,WAAW,WAAY,MAAM,gBAAgB,OAAO,YAAY,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,KAAG,OAU7F,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvB,YAAY,EACR,MAAM,IAAI,iBAAiB,GAC9B,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getMultiple = void 0;
|
|
4
|
+
const get_js_1 = require("./get.js");
|
|
5
|
+
const DEFAULT = {};
|
|
6
|
+
const getMultiple = (source, defaultValue, ...paths) => {
|
|
7
|
+
const length = paths.length;
|
|
8
|
+
for (let i = 0; i < length; i++) {
|
|
9
|
+
const properties = paths[i];
|
|
10
|
+
const result = (0, get_js_1.get)(source, properties, DEFAULT);
|
|
11
|
+
if (result !== DEFAULT) {
|
|
12
|
+
return result;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
return defaultValue;
|
|
16
|
+
};
|
|
17
|
+
exports.getMultiple = getMultiple;
|
|
18
|
+
//# sourceMappingURL=getMultiple.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getMultiple.js","sourceRoot":"","sources":["../src/getMultiple.ts"],"names":[],"mappings":";;;AAAA,qCAA+B;AAS/B,MAAM,OAAO,GAAG,EAAE,CAAC;AAqBnB,MAAM,WAAW,GAAG,CAAC,MAAc,EAAE,YAAqB,EAAE,GAAG,KAA4B,EAAW,EAAE;IACpG,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;QAC7B,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAA,YAAG,EAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAChD,IAAI,MAAM,KAAK,OAAO,EAAE;YACpB,OAAO,MAAM,CAAC;SACjB;KACJ;IACD,OAAO,YAAY,CAAC;AACxB,CAAC,CAAC;AAEO,kCAAW"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export * from "./cap.js";
|
|
2
|
+
export * from "./capitalize.js";
|
|
3
|
+
export * from "./coalesce.js";
|
|
4
|
+
export * from "./ensureArray.js";
|
|
5
|
+
export * from "./ensureError.js";
|
|
6
|
+
export * from "./get.js";
|
|
7
|
+
export * from "./getMultiple.js";
|
|
8
|
+
export * from "./insertSeparator.js";
|
|
9
|
+
export * from "./isEmpty.js";
|
|
10
|
+
export * from "./isPlainObject.js";
|
|
11
|
+
export * from "./last.js";
|
|
12
|
+
export * from "./mapAsync.js";
|
|
13
|
+
export * from "./mapValues.js";
|
|
14
|
+
export * from "./match.js";
|
|
15
|
+
export * from "./merge.js";
|
|
16
|
+
export * from "./mostFrequent.js";
|
|
17
|
+
export * from "./noop.js";
|
|
18
|
+
export * from "./omit.js";
|
|
19
|
+
export * from "./pick.js";
|
|
20
|
+
export * from "./pull.js";
|
|
21
|
+
export * from "./remove.js";
|
|
22
|
+
export * from "./rethrow.js";
|
|
23
|
+
export * from "./scale.js";
|
|
24
|
+
export * from "./seq.js";
|
|
25
|
+
export * from "./set.js";
|
|
26
|
+
export * from "./setImmutable.js";
|
|
27
|
+
export * from "./sortBy.js";
|
|
28
|
+
export * from "./throttle.js";
|
|
29
|
+
export * from "./truthy.js";
|
|
30
|
+
export * from "./wait.js";
|
|
31
|
+
export * from "./waitFor.js";
|
|
32
|
+
export * from "./waitSync.js";
|
|
33
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./cap.js"), exports);
|
|
18
|
+
__exportStar(require("./capitalize.js"), exports);
|
|
19
|
+
__exportStar(require("./coalesce.js"), exports);
|
|
20
|
+
__exportStar(require("./ensureArray.js"), exports);
|
|
21
|
+
__exportStar(require("./ensureError.js"), exports);
|
|
22
|
+
__exportStar(require("./get.js"), exports);
|
|
23
|
+
__exportStar(require("./getMultiple.js"), exports);
|
|
24
|
+
__exportStar(require("./insertSeparator.js"), exports);
|
|
25
|
+
__exportStar(require("./isEmpty.js"), exports);
|
|
26
|
+
__exportStar(require("./isPlainObject.js"), exports);
|
|
27
|
+
__exportStar(require("./last.js"), exports);
|
|
28
|
+
__exportStar(require("./mapAsync.js"), exports);
|
|
29
|
+
__exportStar(require("./mapValues.js"), exports);
|
|
30
|
+
__exportStar(require("./match.js"), exports);
|
|
31
|
+
__exportStar(require("./merge.js"), exports);
|
|
32
|
+
__exportStar(require("./mostFrequent.js"), exports);
|
|
33
|
+
__exportStar(require("./noop.js"), exports);
|
|
34
|
+
__exportStar(require("./omit.js"), exports);
|
|
35
|
+
__exportStar(require("./pick.js"), exports);
|
|
36
|
+
__exportStar(require("./pull.js"), exports);
|
|
37
|
+
__exportStar(require("./remove.js"), exports);
|
|
38
|
+
__exportStar(require("./rethrow.js"), exports);
|
|
39
|
+
__exportStar(require("./scale.js"), exports);
|
|
40
|
+
__exportStar(require("./seq.js"), exports);
|
|
41
|
+
__exportStar(require("./set.js"), exports);
|
|
42
|
+
__exportStar(require("./setImmutable.js"), exports);
|
|
43
|
+
__exportStar(require("./sortBy.js"), exports);
|
|
44
|
+
__exportStar(require("./throttle.js"), exports);
|
|
45
|
+
__exportStar(require("./truthy.js"), exports);
|
|
46
|
+
__exportStar(require("./wait.js"), exports);
|
|
47
|
+
__exportStar(require("./waitFor.js"), exports);
|
|
48
|
+
__exportStar(require("./waitSync.js"), exports);
|
|
49
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,2CAAyB;AACzB,kDAAgC;AAChC,gDAA8B;AAC9B,mDAAiC;AACjC,mDAAiC;AACjC,2CAAyB;AACzB,mDAAiC;AACjC,uDAAqC;AACrC,+CAA6B;AAC7B,qDAAmC;AACnC,4CAA0B;AAC1B,gDAA8B;AAC9B,iDAA+B;AAC/B,6CAA2B;AAC3B,6CAA2B;AAC3B,oDAAkC;AAClC,4CAA0B;AAC1B,4CAA0B;AAC1B,4CAA0B;AAC1B,4CAA0B;AAC1B,8CAA4B;AAC5B,+CAA6B;AAC7B,6CAA2B;AAC3B,2CAAyB;AACzB,2CAAyB;AACzB,oDAAkC;AAClC,8CAA4B;AAC5B,gDAA8B;AAC9B,8CAA4B;AAC5B,4CAA0B;AAC1B,+CAA6B;AAC7B,gDAA8B"}
|