@dereekb/util 8.12.8 → 8.12.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [8.12.11](https://github.com/dereekb/dbx-components/compare/v8.12.10-dev...v8.12.11) (2022-07-14)
6
+
7
+
8
+
9
+ ## [8.12.10](https://github.com/dereekb/dbx-components/compare/v8.12.9-dev...v8.12.10) (2022-07-13)
10
+
11
+
12
+
13
+ ## [8.12.9](https://github.com/dereekb/dbx-components/compare/v8.12.8-dev...v8.12.9) (2022-07-12)
14
+
15
+
16
+
5
17
  ## [8.12.8](https://github.com/dereekb/dbx-components/compare/v8.12.7-dev...v8.12.8) (2022-07-12)
6
18
 
7
19
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/util",
3
- "version": "8.12.8",
3
+ "version": "8.12.11",
4
4
  "type": "commonjs",
5
5
  "exports": {
6
6
  ".": {
@@ -1,3 +1,4 @@
1
+ import { Maybe } from '../value/maybe.type';
1
2
  /**
2
3
  * Contains a reference to a filter object.
3
4
  */
@@ -6,6 +7,13 @@ export interface Filter<F> {
6
7
  }
7
8
  export declare type OptionalFilter<F> = Partial<Filter<F>>;
8
9
  export declare type FilterFunction<T = unknown> = (value: T, index: number) => boolean;
10
+ /**
11
+ * Merges the input FilterFunction values into a single FilterFunction.
12
+ *
13
+ * @param inputFilters
14
+ * @returns
15
+ */
16
+ export declare function mergeFilterFunctions<T>(...inputFilters: Maybe<FilterFunction<T>>[]): FilterFunction<T>;
9
17
  /**
10
18
  * Used to invert a filter function by returning the opposite of what it returns.
11
19
  *
@@ -1,6 +1,30 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.invertFilter = void 0;
3
+ exports.invertFilter = exports.mergeFilterFunctions = void 0;
4
+ const array_value_1 = require("../array/array.value");
5
+ /**
6
+ * Merges the input FilterFunction values into a single FilterFunction.
7
+ *
8
+ * @param inputFilters
9
+ * @returns
10
+ */
11
+ function mergeFilterFunctions(...inputFilters) {
12
+ const filters = (0, array_value_1.filterMaybeValues)(inputFilters);
13
+ let filter;
14
+ switch (filters.length) {
15
+ case 0:
16
+ filter = () => true;
17
+ break;
18
+ case 1:
19
+ filter = filters[0];
20
+ break;
21
+ default:
22
+ filter = (value, i) => filters.findIndex((filter) => !filter(value, i)) === -1;
23
+ break;
24
+ }
25
+ return filter;
26
+ }
27
+ exports.mergeFilterFunctions = mergeFilterFunctions;
4
28
  /**
5
29
  * Used to invert a filter function by returning the opposite of what it returns.
6
30
  *
@@ -1 +1 @@
1
- {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/filter/filter.ts"],"names":[],"mappings":";;;AAWA;;;;;;GAMG;AACH,SAAgB,YAAY,CAA+D,QAAW,EAAE,MAAM,GAAG,IAAI;IACnH,IAAI,MAAM,EAAE;QACV,OAAO,CAAC,CAAC,KAAQ,EAAE,KAAa,EAAE,EAAE;YAClC,MAAM,MAAM,GAAY,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAC1D,OAAO,CAAC,MAAM,CAAC;QACjB,CAAC,CAAM,CAAC;KACT;SAAM;QACL,OAAO,QAAQ,CAAC;KACjB;AACH,CAAC;AATD,oCASC"}
1
+ {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/filter/filter.ts"],"names":[],"mappings":";;;AAAA,sDAAyD;AAczD;;;;;GAKG;AACH,SAAgB,oBAAoB,CAAI,GAAG,YAAwC;IACjF,MAAM,OAAO,GAAG,IAAA,+BAAiB,EAAC,YAAY,CAAC,CAAC;IAChD,IAAI,MAAyB,CAAC;IAE9B,QAAQ,OAAO,CAAC,MAAM,EAAE;QACtB,KAAK,CAAC;YACJ,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;YACpB,MAAM;QACR,KAAK,CAAC;YACJ,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACpB,MAAM;QACR;YACE,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAC/E,MAAM;KACT;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAjBD,oDAiBC;AAED;;;;;;GAMG;AACH,SAAgB,YAAY,CAA+D,QAAW,EAAE,MAAM,GAAG,IAAI;IACnH,IAAI,MAAM,EAAE;QACV,OAAO,CAAC,CAAC,KAAQ,EAAE,KAAa,EAAE,EAAE;YAClC,MAAM,MAAM,GAAY,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAC1D,OAAO,CAAC,MAAM,CAAC;QACjB,CAAC,CAAM,CAAC;KACT;SAAM;QACL,OAAO,QAAQ,CAAC;KACjB;AACH,CAAC;AATD,oCASC"}
@@ -23,7 +23,7 @@ export declare type SetIncludesMode = 'all' | 'any';
23
23
  /**
24
24
  * Contextual function that checks whether or not the input values are included.
25
25
  */
26
- export declare type SetIncludesFunction<T> = (valuesToFind: Iterable<T>) => boolean;
26
+ export declare type SetIncludesFunction<T> = (valuesToFind: IterableOrValue<T>) => boolean;
27
27
  /**
28
28
  * Creates a SetIncludesFunction using the input valuesSet and optional mode. By default the mode defaults to 'all'.
29
29
  *
@@ -40,13 +40,19 @@ export declare function setIncludesFunction<T>(valuesSet: Set<T>, mode?: SetIncl
40
40
  * @param mode
41
41
  * @returns
42
42
  */
43
- export declare function setIncludes<T>(valuesSet: Set<T>, valuesToFind: Iterable<T>, mode?: SetIncludesMode): boolean;
43
+ export declare function setIncludes<T>(valuesSet: Set<T>, valuesToFind: IterableOrValue<T>, mode?: SetIncludesMode): boolean;
44
+ /**
45
+ * Returns false if the input array contains any value from the second array.
46
+ */
47
+ export declare function containsNoneOfValue<T>(values: IterableOrValue<T>, valuesToFind: IterableOrValue<T>): boolean;
48
+ export declare function containsNoValueFromSet<T>(values: IterableOrValue<T>, valuesToFind: Set<T>): boolean;
49
+ export declare function setContainsNoneOfValue<T>(valuesSet: Set<T>, valuesToFind: IterableOrValue<T>): boolean;
44
50
  /**
45
51
  * Returns true if the input array contains any value from the second array.
46
52
  */
47
- export declare function containsAnyValue<T>(values: Iterable<T>, valuesToFind: Iterable<T>): boolean;
48
- export declare function containsAnyValueFromSet<T>(values: Iterable<T>, valuesToFind: Set<T>): boolean;
49
- export declare function setContainsAnyValue<T>(valuesSet: Set<T>, valuesToFind: Iterable<T>): boolean;
53
+ export declare function containsAnyValue<T>(values: IterableOrValue<T>, valuesToFind: IterableOrValue<T>): boolean;
54
+ export declare function containsAnyValueFromSet<T>(values: IterableOrValue<T>, valuesToFind: Set<T>): boolean;
55
+ export declare function setContainsAnyValue<T>(valuesSet: Set<T>, valuesToFind: IterableOrValue<T>): boolean;
50
56
  /**
51
57
  * Returns true if values contains all values in valuesToFind.
52
58
  *
@@ -54,7 +60,7 @@ export declare function setContainsAnyValue<T>(valuesSet: Set<T>, valuesToFind:
54
60
  * @param valuesToFind
55
61
  * @returns
56
62
  */
57
- export declare function containsAllValues<T>(values: Iterable<T>, valuesToFind: Iterable<T>): boolean;
63
+ export declare function containsAllValues<T>(values: Iterable<T>, valuesToFind: IterableOrValue<T>): boolean;
58
64
  /**
59
65
  * Returns true if valuesSet contains all values in valuesToFind.
60
66
  *
@@ -63,4 +69,4 @@ export declare function containsAllValues<T>(values: Iterable<T>, valuesToFind:
63
69
  * @param returnOnEmptyValuesSet
64
70
  * @returns
65
71
  */
66
- export declare function setContainsAllValues<T>(valuesSet: Set<T>, valuesToFind: Iterable<T>): boolean;
72
+ export declare function setContainsAllValues<T>(valuesSet: Set<T>, valuesToFind: IterableOrValue<T>): boolean;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setContainsAllValues = exports.containsAllValues = exports.setContainsAnyValue = exports.containsAnyValueFromSet = exports.containsAnyValue = exports.setIncludes = exports.setIncludesFunction = exports.filterValuesFromSet = exports.excludeValuesFromSet = exports.keepValuesFromSet = exports.flattenArrayToSet = exports.symmetricDifferenceKeysSet = exports.symmetricDifferenceKeys = exports.hasDifferentValues = exports.removeFromSet = exports.removeFromSetCopy = exports.addToSet = exports.addToSetCopy = exports.copySetAndDo = exports.asSet = void 0;
3
+ exports.setContainsAllValues = exports.containsAllValues = exports.setContainsAnyValue = exports.containsAnyValueFromSet = exports.containsAnyValue = exports.setContainsNoneOfValue = exports.containsNoValueFromSet = exports.containsNoneOfValue = exports.setIncludes = exports.setIncludesFunction = exports.filterValuesFromSet = exports.excludeValuesFromSet = exports.keepValuesFromSet = exports.flattenArrayToSet = exports.symmetricDifferenceKeysSet = exports.symmetricDifferenceKeys = exports.hasDifferentValues = exports.removeFromSet = exports.removeFromSetCopy = exports.addToSet = exports.addToSetCopy = exports.copySetAndDo = exports.asSet = void 0;
4
4
  const array_1 = require("../array/array");
5
5
  const iterable_1 = require("../iterable/iterable");
6
6
  const extra_set_1 = require("extra-set");
@@ -97,6 +97,22 @@ function setIncludes(valuesSet, valuesToFind, mode) {
97
97
  return setIncludesFunction(valuesSet, mode)(valuesToFind);
98
98
  }
99
99
  exports.setIncludes = setIncludes;
100
+ /**
101
+ * Returns false if the input array contains any value from the second array.
102
+ */
103
+ function containsNoneOfValue(values, valuesToFind) {
104
+ const set = new Set((0, iterable_1.asIterable)(valuesToFind, false));
105
+ return containsNoValueFromSet(values, set);
106
+ }
107
+ exports.containsNoneOfValue = containsNoneOfValue;
108
+ function containsNoValueFromSet(values, valuesToFind) {
109
+ return setContainsNoneOfValue(valuesToFind, values);
110
+ }
111
+ exports.containsNoValueFromSet = containsNoValueFromSet;
112
+ function setContainsNoneOfValue(valuesSet, valuesToFind) {
113
+ return !setContainsAnyValue(valuesSet, valuesToFind);
114
+ }
115
+ exports.setContainsNoneOfValue = setContainsNoneOfValue;
100
116
  /**
101
117
  * Returns true if the input array contains any value from the second array.
102
118
  */
@@ -1 +1 @@
1
- {"version":3,"file":"set.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/set/set.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"set.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/set/set.ts"],"names":[],"mappings":"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"}
package/src/lib/type.d.ts CHANGED
@@ -56,7 +56,11 @@ export declare type RemoveIndex<T> = {
56
56
  */
57
57
  export declare type KnownKeys<T> = keyof RemoveIndex<T>;
58
58
  /**
59
- * Makes the input key(s) partially required.
59
+ * Makes the input key(s) required.
60
+ */
61
+ export declare type RequiredOnKeys<T, K> = K extends keyof T ? Omit<T, K> & Required<Pick<T, K>> : T;
62
+ /**
63
+ * Makes the input key(s) partials.
60
64
  */
61
65
  export declare type PartialOnKeys<T, K> = K extends keyof T ? Omit<T, K> & Partial<Pick<T, K>> : T;
62
66
  /**
package/test/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [8.12.11](https://github.com/dereekb/dbx-components/compare/v8.12.10-dev...v8.12.11) (2022-07-14)
6
+
7
+
8
+
9
+ ## [8.12.10](https://github.com/dereekb/dbx-components/compare/v8.12.9-dev...v8.12.10) (2022-07-13)
10
+
11
+
12
+
13
+ ## [8.12.9](https://github.com/dereekb/dbx-components/compare/v8.12.8-dev...v8.12.9) (2022-07-12)
14
+
15
+
16
+
5
17
  ## [8.12.8](https://github.com/dereekb/dbx-components/compare/v8.12.7-dev...v8.12.8) (2022-07-12)
6
18
 
7
19
 
package/test/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@dereekb/util/test",
3
- "version": "8.12.8",
3
+ "version": "8.12.11",
4
4
  "type": "commonjs",
5
5
  "main": "./src/index.js",
6
6
  "typings": "./src/index.d.ts",
7
7
  "dependencies": {},
8
8
  "peerDependencies": {
9
- "@dereekb/util": "8.12.8",
9
+ "@dereekb/util": "8.12.11",
10
10
  "make-error": "^1.3.0",
11
11
  "ts-essentials": "^9.1.2",
12
12
  "extra-set": "^2.2.11",