@silvermine/toolbox 0.3.0 → 0.4.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 (70) hide show
  1. package/.github/workflows/ci.yml +2 -2
  2. package/CHANGELOG.md +16 -0
  3. package/dist/commonjs/index.js +4 -0
  4. package/dist/commonjs/index.js.map +1 -1
  5. package/dist/commonjs/utils/compact.js +16 -0
  6. package/dist/commonjs/utils/compact.js.map +1 -0
  7. package/dist/commonjs/utils/is-arguments.js.map +1 -1
  8. package/dist/commonjs/utils/is-array-of-strings.js.map +1 -1
  9. package/dist/commonjs/utils/is-array.js.map +1 -1
  10. package/dist/commonjs/utils/is-boolean.js +8 -0
  11. package/dist/commonjs/utils/is-boolean.js.map +1 -0
  12. package/dist/commonjs/utils/is-enum-value.js.map +1 -1
  13. package/dist/commonjs/utils/is-number.js.map +1 -1
  14. package/dist/commonjs/utils/is-object.js.map +1 -1
  15. package/dist/commonjs/utils/is-promise-like.js.map +1 -1
  16. package/dist/commonjs/utils/is-promise.js.map +1 -1
  17. package/dist/commonjs/utils/is-set.js +13 -0
  18. package/dist/commonjs/utils/is-set.js.map +1 -0
  19. package/dist/commonjs/utils/is-string.js.map +1 -1
  20. package/dist/commonjs/utils/range.js +25 -0
  21. package/dist/commonjs/utils/range.js.map +1 -0
  22. package/dist/esm/index.js +4 -0
  23. package/dist/esm/index.js.map +1 -1
  24. package/dist/esm/utils/compact.js +12 -0
  25. package/dist/esm/utils/compact.js.map +1 -0
  26. package/dist/esm/utils/is-arguments.js.map +1 -1
  27. package/dist/esm/utils/is-array-of-strings.js.map +1 -1
  28. package/dist/esm/utils/is-array.js.map +1 -1
  29. package/dist/esm/utils/is-boolean.js +4 -0
  30. package/dist/esm/utils/is-boolean.js.map +1 -0
  31. package/dist/esm/utils/is-enum-value.js.map +1 -1
  32. package/dist/esm/utils/is-number.js.map +1 -1
  33. package/dist/esm/utils/is-object.js.map +1 -1
  34. package/dist/esm/utils/is-promise-like.js.map +1 -1
  35. package/dist/esm/utils/is-promise.js.map +1 -1
  36. package/dist/esm/utils/is-set.js +9 -0
  37. package/dist/esm/utils/is-set.js.map +1 -0
  38. package/dist/esm/utils/is-string.js.map +1 -1
  39. package/dist/esm/utils/range.js +21 -0
  40. package/dist/esm/utils/range.js.map +1 -0
  41. package/dist/types/index.d.ts +4 -0
  42. package/dist/types/utils/compact.d.ts +3 -0
  43. package/dist/types/utils/is-arguments.d.ts +1 -1
  44. package/dist/types/utils/is-array-of-strings.d.ts +1 -1
  45. package/dist/types/utils/is-array.d.ts +1 -1
  46. package/dist/types/utils/is-boolean.d.ts +1 -0
  47. package/dist/types/utils/is-enum-value.d.ts +1 -1
  48. package/dist/types/utils/is-number.d.ts +1 -1
  49. package/dist/types/utils/is-object.d.ts +1 -1
  50. package/dist/types/utils/is-promise-like.d.ts +1 -1
  51. package/dist/types/utils/is-promise.d.ts +1 -1
  52. package/dist/types/utils/is-set.d.ts +6 -0
  53. package/dist/types/utils/is-string.d.ts +1 -1
  54. package/dist/types/utils/range.d.ts +7 -0
  55. package/package.json +17 -17
  56. package/renovate.json +4 -0
  57. package/src/index.ts +4 -0
  58. package/src/utils/compact.ts +14 -0
  59. package/src/utils/is-arguments.ts +1 -1
  60. package/src/utils/is-array-of-strings.ts +1 -1
  61. package/src/utils/is-array.ts +1 -1
  62. package/src/utils/is-boolean.ts +3 -0
  63. package/src/utils/is-enum-value.ts +1 -1
  64. package/src/utils/is-number.ts +1 -1
  65. package/src/utils/is-object.ts +1 -1
  66. package/src/utils/is-promise-like.ts +1 -1
  67. package/src/utils/is-promise.ts +1 -1
  68. package/src/utils/is-set.ts +8 -0
  69. package/src/utils/is-string.ts +1 -1
  70. package/src/utils/range.ts +24 -0
@@ -35,7 +35,7 @@ jobs:
35
35
  - run: npm ci # Reinstall the dependencies to ensure they install with the node's version of npm
36
36
  - run: npm test
37
37
  - name: Coveralls
38
- uses: coverallsapp/github-action@v1
38
+ uses: coverallsapp/github-action@v2
39
39
  with:
40
40
  parallel: true
41
41
  flag-name: ${{ matrix.node-version }}
@@ -44,6 +44,6 @@ jobs:
44
44
  runs-on: ubuntu-latest
45
45
  steps:
46
46
  - name: Close parallel build
47
- uses: coverallsapp/github-action@v1
47
+ uses: coverallsapp/github-action@v2
48
48
  with:
49
49
  parallel-finished: true
package/CHANGELOG.md CHANGED
@@ -3,6 +3,22 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [our coding standards][commit-messages] for commit guidelines.
5
5
 
6
+ ## [0.4.0](https://github.com/silvermine/toolbox/compare/v0.3.0...v0.4.0) (2024-09-03)
7
+
8
+
9
+ ### Features
10
+
11
+ * add _.compact replacement ([#35](https://github.com/silvermine/toolbox/issues/35)) ([39e08a5](https://github.com/silvermine/toolbox/commit/39e08a5e59f626ab713602bce8b645eeec2b94cf))
12
+ * Add isBoolean type guard ([#49](https://github.com/silvermine/toolbox/issues/49)) ([e8b208c](https://github.com/silvermine/toolbox/commit/e8b208cf7d66eb6c49a53db6757a98b311c278dc))
13
+ * Add isSet type guard ([#31](https://github.com/silvermine/toolbox/issues/31)) ([ad25a69](https://github.com/silvermine/toolbox/commit/ad25a69ebc86efe58ca37289b5892ac35dff82e9))
14
+ * add range function ([#42](https://github.com/silvermine/toolbox/issues/42)) ([a2ae666](https://github.com/silvermine/toolbox/commit/a2ae6663ba1afb08c98671812e27500c5099b3db))
15
+
16
+
17
+ ### Bug Fixes
18
+
19
+ * Replace `any` arg types in type guards w/ `unknown` ([48aac51](https://github.com/silvermine/toolbox/commit/48aac51fb71584b24f8126dbd1e3a43868a97227))
20
+
21
+
6
22
  ## [0.3.0](https://github.com/silvermine/toolbox/compare/v0.2.0...v0.3.0) (2024-05-06)
7
23
 
8
24
 
@@ -16,6 +16,7 @@ tslib_1.__exportStar(require("./utils/has-defined"), exports);
16
16
  tslib_1.__exportStar(require("./utils/is-arguments"), exports);
17
17
  tslib_1.__exportStar(require("./utils/is-array"), exports);
18
18
  tslib_1.__exportStar(require("./utils/is-array-of-strings"), exports);
19
+ tslib_1.__exportStar(require("./utils/is-boolean"), exports);
19
20
  tslib_1.__exportStar(require("./utils/is-empty"), exports);
20
21
  tslib_1.__exportStar(require("./utils/is-enum-value"), exports);
21
22
  tslib_1.__exportStar(require("./utils/is-map-with-values-of-type"), exports);
@@ -23,11 +24,13 @@ tslib_1.__exportStar(require("./utils/is-number"), exports);
23
24
  tslib_1.__exportStar(require("./utils/is-object"), exports);
24
25
  tslib_1.__exportStar(require("./utils/is-promise"), exports);
25
26
  tslib_1.__exportStar(require("./utils/is-promise-like"), exports);
27
+ tslib_1.__exportStar(require("./utils/is-set"), exports);
26
28
  tslib_1.__exportStar(require("./utils/is-string"), exports);
27
29
  tslib_1.__exportStar(require("./utils/is-undefined"), exports);
28
30
  tslib_1.__exportStar(require("./utils/is-null"), exports);
29
31
  tslib_1.__exportStar(require("./utils/is-not-null-or-undefined"), exports);
30
32
  tslib_1.__exportStar(require("./utils/chunk"), exports);
33
+ tslib_1.__exportStar(require("./utils/compact"), exports);
31
34
  tslib_1.__exportStar(require("./utils/flatten"), exports);
32
35
  tslib_1.__exportStar(require("./utils/pick"), exports);
33
36
  tslib_1.__exportStar(require("./utils/pluck"), exports);
@@ -36,4 +39,5 @@ tslib_1.__exportStar(require("./utils/get"), exports);
36
39
  tslib_1.__exportStar(require("./utils/escape-html"), exports);
37
40
  tslib_1.__exportStar(require("./utils/make-template"), exports);
38
41
  tslib_1.__exportStar(require("./utils/uniq"), exports);
42
+ tslib_1.__exportStar(require("./utils/range"), exports);
39
43
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,uEAA6C;AAC7C,uDAA6B;AAC7B,2DAAiC;AACjC,gEAAsC;AACtC,iEAAuC;AACvC,kEAAwC;AACxC,8DAAoC;AACpC,0EAAgD;AAChD,4DAAkC;AAClC,mEAAyC;AACzC,2DAAiC;AAEjC,8DAAoC;AACpC,+DAAqC;AACrC,2DAAiC;AACjC,sEAA4C;AAC5C,2DAAiC;AACjC,gEAAsC;AACtC,6EAAmD;AACnD,4DAAkC;AAClC,4DAAkC;AAClC,6DAAmC;AACnC,kEAAwC;AACxC,4DAAkC;AAClC,+DAAqC;AACrC,0DAAgC;AAChC,2EAAiD;AAEjD,wDAA8B;AAC9B,0DAAgC;AAChC,uDAA6B;AAC7B,wDAA8B;AAC9B,wDAA8B;AAC9B,sDAA4B;AAC5B,8DAAoC;AACpC,gEAAsC;AACtC,uDAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,uEAA6C;AAC7C,uDAA6B;AAC7B,2DAAiC;AACjC,gEAAsC;AACtC,iEAAuC;AACvC,kEAAwC;AACxC,8DAAoC;AACpC,0EAAgD;AAChD,4DAAkC;AAClC,mEAAyC;AACzC,2DAAiC;AAEjC,8DAAoC;AACpC,+DAAqC;AACrC,2DAAiC;AACjC,sEAA4C;AAC5C,6DAAmC;AACnC,2DAAiC;AACjC,gEAAsC;AACtC,6EAAmD;AACnD,4DAAkC;AAClC,4DAAkC;AAClC,6DAAmC;AACnC,kEAAwC;AACxC,yDAA+B;AAC/B,4DAAkC;AAClC,+DAAqC;AACrC,0DAAgC;AAChC,2EAAiD;AAEjD,wDAA8B;AAC9B,0DAAgC;AAChC,0DAAgC;AAChC,uDAA6B;AAC7B,wDAA8B;AAC9B,wDAA8B;AAC9B,sDAA4B;AAC5B,8DAAoC;AACpC,gEAAsC;AACtC,uDAA6B;AAC7B,wDAA8B"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.compact = void 0;
4
+ function notFalsy(value) {
5
+ return value !== ''
6
+ && value !== 0
7
+ && value !== false
8
+ && value !== null
9
+ && value !== undefined
10
+ && !(typeof value === 'number' && isNaN(value));
11
+ }
12
+ function compact(arr) {
13
+ return arr.filter(notFalsy);
14
+ }
15
+ exports.compact = compact;
16
+ //# sourceMappingURL=compact.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compact.js","sourceRoot":"","sources":["../../../src/utils/compact.ts"],"names":[],"mappings":";;;AAEA,SAAS,QAAQ,CAAI,KAAoB;IACtC,OAAO,KAAK,KAAK,EAAE;WACb,KAAK,KAAK,CAAC;WACX,KAAK,KAAK,KAAK;WACf,KAAK,KAAK,IAAI;WACd,KAAK,KAAK,SAAS;WACnB,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,SAAgB,OAAO,CAAI,GAAsB;IAC9C,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC;AAFD,0BAEC"}
@@ -1 +1 @@
1
- {"version":3,"file":"is-arguments.js","sourceRoot":"","sources":["../../../src/utils/is-arguments.ts"],"names":[],"mappings":";;;AAAA,qDAAgD;AAEhD;;;;;GAKG;AACH,SAAgB,WAAW,CAAC,CAAM;IAC/B,OAAO,6BAAY,CAAC,CAAC,CAAC,KAAK,oBAAoB,CAAC;AACnD,CAAC;AAFD,kCAEC"}
1
+ {"version":3,"file":"is-arguments.js","sourceRoot":"","sources":["../../../src/utils/is-arguments.ts"],"names":[],"mappings":";;;AAAA,qDAAgD;AAEhD;;;;;GAKG;AACH,SAAgB,WAAW,CAAC,CAAU;IACnC,OAAO,6BAAY,CAAC,CAAC,CAAC,KAAK,oBAAoB,CAAC;AACnD,CAAC;AAFD,kCAEC"}
@@ -1 +1 @@
1
- {"version":3,"file":"is-array-of-strings.js","sourceRoot":"","sources":["../../../src/utils/is-array-of-strings.ts"],"names":[],"mappings":";;;AAAA,yCAAqC;AACrC,2CAAuC;AAEvC;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAAC,MAAW;IACzC,IAAI,CAAC,kBAAO,CAAC,MAAM,CAAC,EAAE;QACnB,OAAO,KAAK,CAAC;KACf;IAED,KAAK,IAAI,CAAC,IAAI,MAAM,EAAE;QACnB,IAAI,CAAC,oBAAQ,CAAC,CAAC,CAAC,EAAE;YACf,OAAO,KAAK,CAAC;SACf;KACH;IAED,OAAO,IAAI,CAAC;AACf,CAAC;AAZD,4CAYC"}
1
+ {"version":3,"file":"is-array-of-strings.js","sourceRoot":"","sources":["../../../src/utils/is-array-of-strings.ts"],"names":[],"mappings":";;;AAAA,yCAAqC;AACrC,2CAAuC;AAEvC;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAAC,MAAe;IAC7C,IAAI,CAAC,kBAAO,CAAC,MAAM,CAAC,EAAE;QACnB,OAAO,KAAK,CAAC;KACf;IAED,KAAK,IAAI,CAAC,IAAI,MAAM,EAAE;QACnB,IAAI,CAAC,oBAAQ,CAAC,CAAC,CAAC,EAAE;YACf,OAAO,KAAK,CAAC;SACf;KACH;IAED,OAAO,IAAI,CAAC;AACf,CAAC;AAZD,4CAYC"}
@@ -1 +1 @@
1
- {"version":3,"file":"is-array.js","sourceRoot":"","sources":["../../../src/utils/is-array.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,SAAgB,OAAO,CAAC,CAAM;IAC3B,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC;AAFD,0BAEC"}
1
+ {"version":3,"file":"is-array.js","sourceRoot":"","sources":["../../../src/utils/is-array.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,SAAgB,OAAO,CAAC,CAAU;IAC/B,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC;AAFD,0BAEC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isBoolean = void 0;
4
+ function isBoolean(o) {
5
+ return o === true || o === false;
6
+ }
7
+ exports.isBoolean = isBoolean;
8
+ //# sourceMappingURL=is-boolean.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-boolean.js","sourceRoot":"","sources":["../../../src/utils/is-boolean.ts"],"names":[],"mappings":";;;AAAA,SAAgB,SAAS,CAAC,CAAU;IACjC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC;AACpC,CAAC;AAFD,8BAEC"}
@@ -1 +1 @@
1
- {"version":3,"file":"is-enum-value.js","sourceRoot":"","sources":["../../../src/utils/is-enum-value.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,SAAgB,WAAW,CAAI,QAAW,EAAE,KAAU;IACnD,OAAQ,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAoB;SAC5C,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACV,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,OAAO,CAAC,KAAK,KAAK,CAAC;IACtB,CAAC,CAAC,CAAC;AACT,CAAC;AARD,kCAQC"}
1
+ {"version":3,"file":"is-enum-value.js","sourceRoot":"","sources":["../../../src/utils/is-enum-value.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,SAAgB,WAAW,CAAI,QAAW,EAAE,KAAc;IACvD,OAAQ,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAoB;SAC5C,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACV,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,OAAO,CAAC,KAAK,KAAK,CAAC;IACtB,CAAC,CAAC,CAAC;AACT,CAAC;AARD,kCAQC"}
@@ -1 +1 @@
1
- {"version":3,"file":"is-number.js","sourceRoot":"","sources":["../../../src/utils/is-number.ts"],"names":[],"mappings":";;;AAAA,qDAAgD;AAChD,2CAAuC;AAEvC;;;;;;GAMG;AACH,SAAgB,QAAQ,CAAC,CAAM;IAC5B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,oBAAQ,CAAC,CAAC,CAAC,IAAI,6BAAY,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC,CAAC;AAC1F,CAAC;AAFD,4BAEC"}
1
+ {"version":3,"file":"is-number.js","sourceRoot":"","sources":["../../../src/utils/is-number.ts"],"names":[],"mappings":";;;AAAA,qDAAgD;AAChD,2CAAuC;AAEvC;;;;;;GAMG;AACH,SAAgB,QAAQ,CAAC,CAAU;IAChC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,oBAAQ,CAAC,CAAC,CAAC,IAAI,6BAAY,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC,CAAC;AAC1F,CAAC;AAFD,4BAEC"}
@@ -1 +1 @@
1
- {"version":3,"file":"is-object.js","sourceRoot":"","sources":["../../../src/utils/is-object.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;GAUG;AACH,SAAgB,QAAQ,CAAC,CAAM;IAC5B,IAAI,IAAI,GAAG,OAAO,CAAC,CAAC;IAEpB,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,UAAU,CAAC,CAAC;AACnE,CAAC;AAJD,4BAIC"}
1
+ {"version":3,"file":"is-object.js","sourceRoot":"","sources":["../../../src/utils/is-object.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;GAUG;AACH,SAAgB,QAAQ,CAAC,CAAU;IAChC,IAAI,IAAI,GAAG,OAAO,CAAC,CAAC;IAEpB,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,UAAU,CAAC,CAAC;AACnE,CAAC;AAJD,4BAIC"}
@@ -1 +1 @@
1
- {"version":3,"file":"is-promise-like.js","sourceRoot":"","sources":["../../../src/utils/is-promise-like.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AACzC,2CAAuC;AAEvC;;;;;;GAMG;AACH,SAAgB,aAAa,CAAC,CAAM;IACjC,OAAO,sBAAS,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAQ,CAAC,CAAC,CAAC,IAAI,OAAQ,CAAS,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;AACjF,CAAC;AAFD,sCAEC"}
1
+ {"version":3,"file":"is-promise-like.js","sourceRoot":"","sources":["../../../src/utils/is-promise-like.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AACzC,2CAAuC;AAEvC;;;;;;GAMG;AACH,SAAgB,aAAa,CAAC,CAAU;IACrC,OAAO,sBAAS,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAQ,CAAC,CAAC,CAAC,IAAI,OAAQ,CAAS,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;AACjF,CAAC;AAFD,sCAEC"}
@@ -1 +1 @@
1
- {"version":3,"file":"is-promise.js","sourceRoot":"","sources":["../../../src/utils/is-promise.ts"],"names":[],"mappings":";;;AAAA,2CAAuC;AACvC,qDAAgD;AAEhD;;;;GAIG;AACH,SAAgB,SAAS,CAAC,CAAM;IAC7B,OAAO,oBAAQ,CAAC,CAAC,CAAC,IAAI,6BAAY,CAAC,CAAC,CAAC,KAAK,kBAAkB,CAAC;AAChE,CAAC;AAFD,8BAEC"}
1
+ {"version":3,"file":"is-promise.js","sourceRoot":"","sources":["../../../src/utils/is-promise.ts"],"names":[],"mappings":";;;AAAA,2CAAuC;AACvC,qDAAgD;AAEhD;;;;GAIG;AACH,SAAgB,SAAS,CAAC,CAAU;IACjC,OAAO,oBAAQ,CAAC,CAAC,CAAC,IAAI,6BAAY,CAAC,CAAC,CAAC,KAAK,kBAAkB,CAAC;AAChE,CAAC;AAFD,8BAEC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isSet = void 0;
4
+ /**
5
+ * Type guard for `Set`s.
6
+ *
7
+ * @returns `true` if `o` is a `Set`, regardless of the types that it contains
8
+ */
9
+ function isSet(o) {
10
+ return o instanceof Set;
11
+ }
12
+ exports.isSet = isSet;
13
+ //# sourceMappingURL=is-set.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-set.js","sourceRoot":"","sources":["../../../src/utils/is-set.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,SAAgB,KAAK,CAAC,CAAU;IAC7B,OAAO,CAAC,YAAY,GAAG,CAAC;AAC3B,CAAC;AAFD,sBAEC"}
@@ -1 +1 @@
1
- {"version":3,"file":"is-string.js","sourceRoot":"","sources":["../../../src/utils/is-string.ts"],"names":[],"mappings":";;;AAAA,2CAAuC;AACvC,qDAAgD;AAEhD;;;;;;GAMG;AACH,SAAgB,QAAQ,CAAC,CAAM;IAC5B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,oBAAQ,CAAC,CAAC,CAAC,IAAI,6BAAY,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC,CAAC;AAC1F,CAAC;AAFD,4BAEC"}
1
+ {"version":3,"file":"is-string.js","sourceRoot":"","sources":["../../../src/utils/is-string.ts"],"names":[],"mappings":";;;AAAA,2CAAuC;AACvC,qDAAgD;AAEhD;;;;;;GAMG;AACH,SAAgB,QAAQ,CAAC,CAAU;IAChC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,oBAAQ,CAAC,CAAC,CAAC,IAAI,6BAAY,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC,CAAC;AAC1F,CAAC;AAFD,4BAEC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.range = void 0;
4
+ /**
5
+ * Creates an array of numbers (positive and/or negative) progressing from
6
+ * start up to, but not including, end. A step of -1 is used if a negative start
7
+ * is specified without an end or step. If end is not specified, it's set to
8
+ * start with start then set to 0.
9
+ */
10
+ function range(start, end, step) {
11
+ if (end === undefined) {
12
+ end = start;
13
+ start = 0;
14
+ }
15
+ if (!step) {
16
+ step = start < end ? 1 : -1;
17
+ }
18
+ const length = Math.max(Math.ceil((end - start) / step), 0), result = Array(length);
19
+ for (let i = 0; i < length; i++) {
20
+ result[i] = start + (i * step);
21
+ }
22
+ return result;
23
+ }
24
+ exports.range = range;
25
+ //# sourceMappingURL=range.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"range.js","sourceRoot":"","sources":["../../../src/utils/range.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,SAAgB,KAAK,CAAC,KAAa,EAAE,GAAY,EAAE,IAAa;IAC7D,IAAI,GAAG,KAAK,SAAS,EAAE;QACpB,GAAG,GAAG,KAAK,CAAC;QACZ,KAAK,GAAG,CAAC,CAAC;KACZ;IAED,IAAI,CAAC,IAAI,EAAE;QACR,IAAI,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC9B;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,EACrD,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;QAC9B,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;KACjC;IACD,OAAO,MAAM,CAAC;AACjB,CAAC;AAjBD,sBAiBC"}
package/dist/esm/index.js CHANGED
@@ -13,6 +13,7 @@ export * from './utils/has-defined';
13
13
  export * from './utils/is-arguments';
14
14
  export * from './utils/is-array';
15
15
  export * from './utils/is-array-of-strings';
16
+ export * from './utils/is-boolean';
16
17
  export * from './utils/is-empty';
17
18
  export * from './utils/is-enum-value';
18
19
  export * from './utils/is-map-with-values-of-type';
@@ -20,11 +21,13 @@ export * from './utils/is-number';
20
21
  export * from './utils/is-object';
21
22
  export * from './utils/is-promise';
22
23
  export * from './utils/is-promise-like';
24
+ export * from './utils/is-set';
23
25
  export * from './utils/is-string';
24
26
  export * from './utils/is-undefined';
25
27
  export * from './utils/is-null';
26
28
  export * from './utils/is-not-null-or-undefined';
27
29
  export * from './utils/chunk';
30
+ export * from './utils/compact';
28
31
  export * from './utils/flatten';
29
32
  export * from './utils/pick';
30
33
  export * from './utils/pluck';
@@ -33,4 +36,5 @@ export * from './utils/get';
33
36
  export * from './utils/escape-html';
34
37
  export * from './utils/make-template';
35
38
  export * from './utils/uniq';
39
+ export * from './utils/range';
36
40
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iCAAiC,CAAC;AAChD,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AAEjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oCAAoC,CAAC;AACnD,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kCAAkC,CAAC;AAEjD,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iCAAiC,CAAC;AAChD,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AAEjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oCAAoC,CAAC;AACnD,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kCAAkC,CAAC;AAEjD,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"}
@@ -0,0 +1,12 @@
1
+ function notFalsy(value) {
2
+ return value !== ''
3
+ && value !== 0
4
+ && value !== false
5
+ && value !== null
6
+ && value !== undefined
7
+ && !(typeof value === 'number' && isNaN(value));
8
+ }
9
+ export function compact(arr) {
10
+ return arr.filter(notFalsy);
11
+ }
12
+ //# sourceMappingURL=compact.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compact.js","sourceRoot":"","sources":["../../../src/utils/compact.ts"],"names":[],"mappings":"AAEA,SAAS,QAAQ,CAAI,KAAoB;IACtC,OAAO,KAAK,KAAK,EAAE;WACb,KAAK,KAAK,CAAC;WACX,KAAK,KAAK,KAAK;WACf,KAAK,KAAK,IAAI;WACd,KAAK,KAAK,SAAS;WACnB,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,OAAO,CAAI,GAAsB;IAC9C,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"is-arguments.js","sourceRoot":"","sources":["../../../src/utils/is-arguments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,CAAM;IAC/B,OAAO,YAAY,CAAC,CAAC,CAAC,KAAK,oBAAoB,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"is-arguments.js","sourceRoot":"","sources":["../../../src/utils/is-arguments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,CAAU;IACnC,OAAO,YAAY,CAAC,CAAC,CAAC,KAAK,oBAAoB,CAAC;AACnD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"is-array-of-strings.js","sourceRoot":"","sources":["../../../src/utils/is-array-of-strings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAW;IACzC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QACnB,OAAO,KAAK,CAAC;KACf;IAED,KAAK,IAAI,CAAC,IAAI,MAAM,EAAE;QACnB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;YACf,OAAO,KAAK,CAAC;SACf;KACH;IAED,OAAO,IAAI,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"is-array-of-strings.js","sourceRoot":"","sources":["../../../src/utils/is-array-of-strings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAe;IAC7C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QACnB,OAAO,KAAK,CAAC;KACf;IAED,KAAK,IAAI,CAAC,IAAI,MAAM,EAAE;QACnB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;YACf,OAAO,KAAK,CAAC;SACf;KACH;IAED,OAAO,IAAI,CAAC;AACf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"is-array.js","sourceRoot":"","sources":["../../../src/utils/is-array.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,CAAM;IAC3B,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"is-array.js","sourceRoot":"","sources":["../../../src/utils/is-array.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,CAAU;IAC/B,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,4 @@
1
+ export function isBoolean(o) {
2
+ return o === true || o === false;
3
+ }
4
+ //# sourceMappingURL=is-boolean.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-boolean.js","sourceRoot":"","sources":["../../../src/utils/is-boolean.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,SAAS,CAAC,CAAU;IACjC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC;AACpC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"is-enum-value.js","sourceRoot":"","sources":["../../../src/utils/is-enum-value.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,WAAW,CAAI,QAAW,EAAE,KAAU;IACnD,OAAQ,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAoB;SAC5C,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACV,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,OAAO,CAAC,KAAK,KAAK,CAAC;IACtB,CAAC,CAAC,CAAC;AACT,CAAC"}
1
+ {"version":3,"file":"is-enum-value.js","sourceRoot":"","sources":["../../../src/utils/is-enum-value.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,WAAW,CAAI,QAAW,EAAE,KAAc;IACvD,OAAQ,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAoB;SAC5C,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACV,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,OAAO,CAAC,KAAK,KAAK,CAAC;IACtB,CAAC,CAAC,CAAC;AACT,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"is-number.js","sourceRoot":"","sources":["../../../src/utils/is-number.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,CAAM;IAC5B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC,CAAC;AAC1F,CAAC"}
1
+ {"version":3,"file":"is-number.js","sourceRoot":"","sources":["../../../src/utils/is-number.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,CAAU;IAChC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC,CAAC;AAC1F,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"is-object.js","sourceRoot":"","sources":["../../../src/utils/is-object.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,UAAU,QAAQ,CAAC,CAAM;IAC5B,IAAI,IAAI,GAAG,OAAO,CAAC,CAAC;IAEpB,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,UAAU,CAAC,CAAC;AACnE,CAAC"}
1
+ {"version":3,"file":"is-object.js","sourceRoot":"","sources":["../../../src/utils/is-object.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,UAAU,QAAQ,CAAC,CAAU;IAChC,IAAI,IAAI,GAAG,OAAO,CAAC,CAAC;IAEpB,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,UAAU,CAAC,CAAC;AACnE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"is-promise-like.js","sourceRoot":"","sources":["../../../src/utils/is-promise-like.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,CAAM;IACjC,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,OAAQ,CAAS,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;AACjF,CAAC"}
1
+ {"version":3,"file":"is-promise-like.js","sourceRoot":"","sources":["../../../src/utils/is-promise-like.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,CAAU;IACrC,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,OAAQ,CAAS,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;AACjF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"is-promise.js","sourceRoot":"","sources":["../../../src/utils/is-promise.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,CAAM;IAC7B,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,KAAK,kBAAkB,CAAC;AAChE,CAAC"}
1
+ {"version":3,"file":"is-promise.js","sourceRoot":"","sources":["../../../src/utils/is-promise.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,CAAU;IACjC,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,KAAK,kBAAkB,CAAC;AAChE,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Type guard for `Set`s.
3
+ *
4
+ * @returns `true` if `o` is a `Set`, regardless of the types that it contains
5
+ */
6
+ export function isSet(o) {
7
+ return o instanceof Set;
8
+ }
9
+ //# sourceMappingURL=is-set.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-set.js","sourceRoot":"","sources":["../../../src/utils/is-set.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAC,CAAU;IAC7B,OAAO,CAAC,YAAY,GAAG,CAAC;AAC3B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"is-string.js","sourceRoot":"","sources":["../../../src/utils/is-string.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,CAAM;IAC5B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC,CAAC;AAC1F,CAAC"}
1
+ {"version":3,"file":"is-string.js","sourceRoot":"","sources":["../../../src/utils/is-string.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,CAAU;IAChC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC,CAAC;AAC1F,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Creates an array of numbers (positive and/or negative) progressing from
3
+ * start up to, but not including, end. A step of -1 is used if a negative start
4
+ * is specified without an end or step. If end is not specified, it's set to
5
+ * start with start then set to 0.
6
+ */
7
+ export function range(start, end, step) {
8
+ if (end === undefined) {
9
+ end = start;
10
+ start = 0;
11
+ }
12
+ if (!step) {
13
+ step = start < end ? 1 : -1;
14
+ }
15
+ const length = Math.max(Math.ceil((end - start) / step), 0), result = Array(length);
16
+ for (let i = 0; i < length; i++) {
17
+ result[i] = start + (i * step);
18
+ }
19
+ return result;
20
+ }
21
+ //# sourceMappingURL=range.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"range.js","sourceRoot":"","sources":["../../../src/utils/range.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,UAAU,KAAK,CAAC,KAAa,EAAE,GAAY,EAAE,IAAa;IAC7D,IAAI,GAAG,KAAK,SAAS,EAAE;QACpB,GAAG,GAAG,KAAK,CAAC;QACZ,KAAK,GAAG,CAAC,CAAC;KACZ;IAED,IAAI,CAAC,IAAI,EAAE;QACR,IAAI,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC9B;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,EACrD,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;QAC9B,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;KACjC;IACD,OAAO,MAAM,CAAC;AACjB,CAAC"}
@@ -13,6 +13,7 @@ export * from './utils/has-defined';
13
13
  export * from './utils/is-arguments';
14
14
  export * from './utils/is-array';
15
15
  export * from './utils/is-array-of-strings';
16
+ export * from './utils/is-boolean';
16
17
  export * from './utils/is-empty';
17
18
  export * from './utils/is-enum-value';
18
19
  export * from './utils/is-map-with-values-of-type';
@@ -20,11 +21,13 @@ export * from './utils/is-number';
20
21
  export * from './utils/is-object';
21
22
  export * from './utils/is-promise';
22
23
  export * from './utils/is-promise-like';
24
+ export * from './utils/is-set';
23
25
  export * from './utils/is-string';
24
26
  export * from './utils/is-undefined';
25
27
  export * from './utils/is-null';
26
28
  export * from './utils/is-not-null-or-undefined';
27
29
  export * from './utils/chunk';
30
+ export * from './utils/compact';
28
31
  export * from './utils/flatten';
29
32
  export * from './utils/pick';
30
33
  export * from './utils/pluck';
@@ -33,3 +36,4 @@ export * from './utils/get';
33
36
  export * from './utils/escape-html';
34
37
  export * from './utils/make-template';
35
38
  export * from './utils/uniq';
39
+ export * from './utils/range';
@@ -0,0 +1,3 @@
1
+ declare type FalsyVals = '' | 0 | false | null | undefined;
2
+ export declare function compact<T>(arr: (T | FalsyVals)[]): T[];
3
+ export {};
@@ -4,4 +4,4 @@
4
4
  * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/arguments
5
5
  * @returns `true` if `o` is a function's array-like `arguments` variable
6
6
  */
7
- export declare function isArguments(o: any): boolean;
7
+ export declare function isArguments(o: unknown): o is IArguments;
@@ -5,4 +5,4 @@
5
5
  * not counted as `string` values, even if the TypeScript compiler's `strictNullChecks`
6
6
  * flag is set to `false` in your project.
7
7
  */
8
- export declare function isArrayOfStrings(values: any): values is string[];
8
+ export declare function isArrayOfStrings(values: unknown): values is string[];
@@ -3,4 +3,4 @@
3
3
  *
4
4
  * @returns `true` if `o` is an `Array`, regardless of the types that it contains
5
5
  */
6
- export declare function isArray(o: any): o is unknown[];
6
+ export declare function isArray(o: unknown): o is unknown[];
@@ -0,0 +1 @@
1
+ export declare function isBoolean(o: unknown): o is boolean;
@@ -1,4 +1,4 @@
1
1
  /**
2
2
  * Type guard to check to see if the given value is a valid value for the enum.
3
3
  */
4
- export declare function isEnumValue<T>(enumType: T, value: any): value is T[keyof T];
4
+ export declare function isEnumValue<T>(enumType: T, value: unknown): value is T[keyof T];
@@ -5,4 +5,4 @@
5
5
  * considered `number`s. If you need to check for one of those values, you can use the
6
6
  * built-in `Number.isNaN` or `Number.isFinite` functions.
7
7
  */
8
- export declare function isNumber(o: any): o is number;
8
+ export declare function isNumber(o: unknown): o is number;
@@ -9,4 +9,4 @@
9
9
  * @see https://github.com/jashkenas/underscore/blob/d5fe0fd4060f13b40608cb9d92eda6d857e8752c/underscore.js#L1322
10
10
  * @returns `true` if `o` is an `object`
11
11
  */
12
- export declare function isObject(o: any): o is object;
12
+ export declare function isObject(o: unknown): o is object;
@@ -5,4 +5,4 @@
5
5
  *
6
6
  * @returns `true` if `o` is `Promise`-like (i.e. has a `then` function)
7
7
  */
8
- export declare function isPromiseLike(o: any): o is PromiseLike<unknown>;
8
+ export declare function isPromiseLike(o: unknown): o is PromiseLike<unknown>;
@@ -3,4 +3,4 @@
3
3
  *
4
4
  * @returns `true` if `o` is a `Promise`
5
5
  */
6
- export declare function isPromise(o: any): o is Promise<unknown>;
6
+ export declare function isPromise(o: unknown): o is Promise<unknown>;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Type guard for `Set`s.
3
+ *
4
+ * @returns `true` if `o` is a `Set`, regardless of the types that it contains
5
+ */
6
+ export declare function isSet(o: unknown): o is Set<unknown>;
@@ -5,4 +5,4 @@
5
5
  * `string` values, even if the TypeScript compiler's `strictNullChecks` flag is set to
6
6
  * `false` in your project.
7
7
  */
8
- export declare function isString(o: any): o is string;
8
+ export declare function isString(o: unknown): o is string;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Creates an array of numbers (positive and/or negative) progressing from
3
+ * start up to, but not including, end. A step of -1 is used if a negative start
4
+ * is specified without an end or step. If end is not specified, it's set to
5
+ * start with start then set to 0.
6
+ */
7
+ export declare function range(start: number, end?: number, step?: number): number[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@silvermine/toolbox",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "A library of common TypeScript types, custom type guards, and utility functions.",
5
5
  "main": "./dist/commonjs/index",
6
6
  "types": "./dist/types/index.d.ts",
@@ -36,30 +36,30 @@
36
36
  "tslib": "^1.9.0 || ^2"
37
37
  },
38
38
  "devDependencies": {
39
- "@silvermine/chai-strictly-equal": "1.1.0",
40
- "@silvermine/eslint-config": "github:silvermine/eslint-config-silvermine#39387feb42f5d78bf4947fbb7cb0727b5ea2bebe",
39
+ "@silvermine/chai-strictly-equal": "1.1.1",
40
+ "@silvermine/eslint-config": "github:silvermine/eslint-config-silvermine#aa8ecacb12ab778078fd195d3b15f09ecac76c11",
41
41
  "@silvermine/standardization": "2.0.0",
42
42
  "@silvermine/typescript-config": "git+https://github.com/silvermine/typescript-config#23213e33077089e723629dead5342abe6f3b3c8c",
43
- "@types/chai": "4.1.7",
44
- "@types/mocha": "5.2.5",
43
+ "@types/chai": "4.3.18",
44
+ "@types/mocha": "5.2.7",
45
45
  "@types/node": "12.20.45",
46
- "@types/sinon": "5.0.5",
47
- "chai": "4.2.0",
48
- "check-node-version": "4.0.2",
49
- "coveralls": "3.0.9",
50
- "eslint": "8.0.0",
51
- "grunt": "1.0.4",
46
+ "@types/sinon": "5.0.7",
47
+ "chai": "4.5.0",
48
+ "check-node-version": "4.2.1",
49
+ "coveralls": "3.1.1",
50
+ "eslint": "8.57.0",
51
+ "grunt": "1.6.1",
52
52
  "grunt-cli": "1.3.2",
53
- "grunt-concurrent": "2.3.1",
54
- "grunt-contrib-clean": "2.0.0",
53
+ "grunt-concurrent": "3.0.0",
54
+ "grunt-contrib-clean": "2.0.1",
55
55
  "grunt-contrib-watch": "1.1.0",
56
56
  "grunt-exec": "3.0.0",
57
57
  "mocha": "5.2.0",
58
- "nyc": "13.1.0",
58
+ "nyc": "13.3.0",
59
59
  "sinon": "5.1.1",
60
- "source-map-support": "0.5.16",
60
+ "source-map-support": "0.5.21",
61
61
  "ts-node": "7.0.1",
62
- "tslib": "2.6.2",
63
- "typescript": "3.9.5"
62
+ "tslib": "2.6.3",
63
+ "typescript": "3.9.10"
64
64
  }
65
65
  }
package/renovate.json ADDED
@@ -0,0 +1,4 @@
1
+ {
2
+ "$schema": "https://docs.renovatebot.com/renovate-schema.json",
3
+ "extends": [ "github>silvermine/renovate-config" ]
4
+ }
package/src/index.ts CHANGED
@@ -14,6 +14,7 @@ export * from './utils/has-defined';
14
14
  export * from './utils/is-arguments';
15
15
  export * from './utils/is-array';
16
16
  export * from './utils/is-array-of-strings';
17
+ export * from './utils/is-boolean';
17
18
  export * from './utils/is-empty';
18
19
  export * from './utils/is-enum-value';
19
20
  export * from './utils/is-map-with-values-of-type';
@@ -21,12 +22,14 @@ export * from './utils/is-number';
21
22
  export * from './utils/is-object';
22
23
  export * from './utils/is-promise';
23
24
  export * from './utils/is-promise-like';
25
+ export * from './utils/is-set';
24
26
  export * from './utils/is-string';
25
27
  export * from './utils/is-undefined';
26
28
  export * from './utils/is-null';
27
29
  export * from './utils/is-not-null-or-undefined';
28
30
 
29
31
  export * from './utils/chunk';
32
+ export * from './utils/compact';
30
33
  export * from './utils/flatten';
31
34
  export * from './utils/pick';
32
35
  export * from './utils/pluck';
@@ -35,3 +38,4 @@ export * from './utils/get';
35
38
  export * from './utils/escape-html';
36
39
  export * from './utils/make-template';
37
40
  export * from './utils/uniq';
41
+ export * from './utils/range';
@@ -0,0 +1,14 @@
1
+ type FalsyVals = '' | 0 | false | null | undefined;
2
+
3
+ function notFalsy<T>(value: T | FalsyVals): value is T {
4
+ return value !== ''
5
+ && value !== 0
6
+ && value !== false
7
+ && value !== null
8
+ && value !== undefined
9
+ && !(typeof value === 'number' && isNaN(value));
10
+ }
11
+
12
+ export function compact<T>(arr: (T | FalsyVals)[]): T[] {
13
+ return arr.filter(notFalsy);
14
+ }
@@ -6,6 +6,6 @@ import { getTagString } from './get-tag-string';
6
6
  * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/arguments
7
7
  * @returns `true` if `o` is a function's array-like `arguments` variable
8
8
  */
9
- export function isArguments(o: any): boolean {
9
+ export function isArguments(o: unknown): o is IArguments {
10
10
  return getTagString(o) === '[object Arguments]';
11
11
  }
@@ -8,7 +8,7 @@ import { isString } from './is-string';
8
8
  * not counted as `string` values, even if the TypeScript compiler's `strictNullChecks`
9
9
  * flag is set to `false` in your project.
10
10
  */
11
- export function isArrayOfStrings(values: any): values is string[] {
11
+ export function isArrayOfStrings(values: unknown): values is string[] {
12
12
  if (!isArray(values)) {
13
13
  return false;
14
14
  }
@@ -3,6 +3,6 @@
3
3
  *
4
4
  * @returns `true` if `o` is an `Array`, regardless of the types that it contains
5
5
  */
6
- export function isArray(o: any): o is unknown[] {
6
+ export function isArray(o: unknown): o is unknown[] {
7
7
  return Array.isArray(o);
8
8
  }
@@ -0,0 +1,3 @@
1
+ export function isBoolean(o: unknown): o is boolean {
2
+ return o === true || o === false;
3
+ }
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Type guard to check to see if the given value is a valid value for the enum.
3
3
  */
4
- export function isEnumValue<T>(enumType: T, value: any): value is T[keyof T] {
4
+ export function isEnumValue<T>(enumType: T, value: unknown): value is T[keyof T] {
5
5
  return (Object.keys(enumType) as Array<keyof T>)
6
6
  .map((key) => {
7
7
  return enumType[key];
@@ -8,6 +8,6 @@ import { isObject } from './is-object';
8
8
  * considered `number`s. If you need to check for one of those values, you can use the
9
9
  * built-in `Number.isNaN` or `Number.isFinite` functions.
10
10
  */
11
- export function isNumber(o: any): o is number {
11
+ export function isNumber(o: unknown): o is number {
12
12
  return typeof o === 'number' || (isObject(o) && getTagString(o) === '[object Number]');
13
13
  }
@@ -9,7 +9,7 @@
9
9
  * @see https://github.com/jashkenas/underscore/blob/d5fe0fd4060f13b40608cb9d92eda6d857e8752c/underscore.js#L1322
10
10
  * @returns `true` if `o` is an `object`
11
11
  */
12
- export function isObject(o: any): o is object {
12
+ export function isObject(o: unknown): o is object {
13
13
  let type = typeof o;
14
14
 
15
15
  return o !== null && (type === 'object' || type === 'function');
@@ -8,6 +8,6 @@ import { isObject } from './is-object';
8
8
  *
9
9
  * @returns `true` if `o` is `Promise`-like (i.e. has a `then` function)
10
10
  */
11
- export function isPromiseLike(o: any): o is PromiseLike<unknown> {
11
+ export function isPromiseLike(o: unknown): o is PromiseLike<unknown> {
12
12
  return isPromise(o) || (isObject(o) && typeof (o as any).then === 'function');
13
13
  }
@@ -6,6 +6,6 @@ import { getTagString } from './get-tag-string';
6
6
  *
7
7
  * @returns `true` if `o` is a `Promise`
8
8
  */
9
- export function isPromise(o: any): o is Promise<unknown> {
9
+ export function isPromise(o: unknown): o is Promise<unknown> {
10
10
  return isObject(o) && getTagString(o) === '[object Promise]';
11
11
  }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Type guard for `Set`s.
3
+ *
4
+ * @returns `true` if `o` is a `Set`, regardless of the types that it contains
5
+ */
6
+ export function isSet(o: unknown): o is Set<unknown> {
7
+ return o instanceof Set;
8
+ }
@@ -8,6 +8,6 @@ import { getTagString } from './get-tag-string';
8
8
  * `string` values, even if the TypeScript compiler's `strictNullChecks` flag is set to
9
9
  * `false` in your project.
10
10
  */
11
- export function isString(o: any): o is string {
11
+ export function isString(o: unknown): o is string {
12
12
  return typeof o === 'string' || (isObject(o) && getTagString(o) === '[object String]');
13
13
  }
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Creates an array of numbers (positive and/or negative) progressing from
3
+ * start up to, but not including, end. A step of -1 is used if a negative start
4
+ * is specified without an end or step. If end is not specified, it's set to
5
+ * start with start then set to 0.
6
+ */
7
+ export function range(start: number, end?: number, step?: number): number[] {
8
+ if (end === undefined) {
9
+ end = start;
10
+ start = 0;
11
+ }
12
+
13
+ if (!step) {
14
+ step = start < end ? 1 : -1;
15
+ }
16
+
17
+ const length = Math.max(Math.ceil((end - start) / step), 0),
18
+ result = Array(length);
19
+
20
+ for (let i = 0; i < length; i++) {
21
+ result[i] = start + (i * step);
22
+ }
23
+ return result;
24
+ }