@dereekb/util 9.24.16 → 9.24.17

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,10 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [9.24.17](https://github.com/dereekb/dbx-components/compare/v9.24.16-dev...v9.24.17) (2023-07-24)
6
+
7
+
8
+
5
9
  ## [9.24.16](https://github.com/dereekb/dbx-components/compare/v9.24.15-dev...v9.24.16) (2023-07-14)
6
10
 
7
11
 
@@ -2,6 +2,10 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [9.24.17](https://github.com/dereekb/dbx-components/compare/v9.24.16-dev...v9.24.17) (2023-07-24)
6
+
7
+
8
+
5
9
  ## [9.24.16](https://github.com/dereekb/dbx-components/compare/v9.24.15-dev...v9.24.16) (2023-07-14)
6
10
 
7
11
 
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@dereekb/util/fetch",
3
- "version": "9.24.16",
3
+ "version": "9.24.17",
4
4
  "main": "./src/index.js",
5
5
  "types": "./src/index.d.ts",
6
6
  "dependencies": {},
7
7
  "peerDependencies": {
8
- "@dereekb/util": "9.24.16",
8
+ "@dereekb/util": "9.24.17",
9
9
  "lodash.isequal": "^4.5.0",
10
10
  "make-error": "^1.3.0",
11
11
  "class-validator": "^0.13.2",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/util",
3
- "version": "9.24.16",
3
+ "version": "9.24.17",
4
4
  "type": "commonjs",
5
5
  "exports": {
6
6
  ".": {
@@ -0,0 +1,67 @@
1
+ import { MapFunction } from '../value';
2
+ /**
3
+ * A bitwise set is limited to 32 values, the numbers 0-31.
4
+ *
5
+ * This is because Javascript performs bitwise calculations on 32-bit values.
6
+ */
7
+ export declare const MAX_BITWISE_SET_SIZE = 32;
8
+ /**
9
+ * Enum or number value from 0 to 31 that denotes a specific item via index of the bit to measure.
10
+ */
11
+ export declare type BitwiseEncodedSetIndex = number;
12
+ /**
13
+ * Set of values that are encoded into a single number.
14
+ *
15
+ * The number can include up to 32 unique boolean values.
16
+ */
17
+ export declare type BitwiseEncodedSet = number;
18
+ /**
19
+ * Encodes a BitwiseEncodedSet from a set of values.
20
+ */
21
+ export declare type BitwiseSetEncoder<D extends BitwiseEncodedSetIndex> = (set: Set<D>) => BitwiseEncodedSet;
22
+ export declare function encodeBitwiseSet<D extends BitwiseEncodedSetIndex>(input: Set<D>): BitwiseEncodedSet;
23
+ /**
24
+ * Decodes an BitwiseEncodedSet to a Set of values.
25
+ */
26
+ export declare type BitwiseSetDecoder<D extends BitwiseEncodedSetIndex> = (set: BitwiseEncodedSet) => Set<D>;
27
+ export declare function bitwiseSetDecoder<D extends BitwiseEncodedSetIndex>(maxIndex: number): BitwiseSetDecoder<D>;
28
+ export declare const dencodeBitwiseSet: BitwiseSetDecoder<number>;
29
+ /**
30
+ * Encodes and Decodes a BitwiseEncodedSet, depending on the input.
31
+ */
32
+ export declare type BitwiseSetDencoder<D extends BitwiseEncodedSetIndex> = BitwiseSetEncoder<D> & BitwiseSetDecoder<D>;
33
+ export declare function bitwiseSetDencoder<D extends BitwiseEncodedSetIndex>(maxIndex?: number): BitwiseSetDencoder<D>;
34
+ /**
35
+ * Maps the input object to a set of index values.
36
+ */
37
+ export declare type BitwiseObjectToSetFunction<T extends object, D extends BitwiseEncodedSetIndex> = MapFunction<T, Set<D>>;
38
+ /**
39
+ * Maps the input object from a set of index values.
40
+ */
41
+ export declare type BitwiseObjectFromSetFunction<T extends object, D extends BitwiseEncodedSetIndex> = MapFunction<Set<D>, T>;
42
+ /**
43
+ * Encodes the input object to a BitwiseEncodedSet.
44
+ */
45
+ export declare type BitwiseObjectEncoder<T extends object> = (object: T) => BitwiseEncodedSet;
46
+ /**
47
+ * Creates a BitwiseObjectEncoder<T> from the input.
48
+ *
49
+ * @param toSetFunction
50
+ * @returns
51
+ */
52
+ export declare function bitwiseObjectEncoder<T extends object, D extends BitwiseEncodedSetIndex>(toSetFunction: BitwiseObjectToSetFunction<T, D>): BitwiseObjectEncoder<T>;
53
+ /**
54
+ * Decodes an object from the input BitwiseEncodedSet.
55
+ */
56
+ export declare type BitwiseObjectDecoder<T extends object> = (set: BitwiseEncodedSet) => T;
57
+ export declare function bitwiseObjectdecoder<T extends object, D extends BitwiseEncodedSetIndex>(fromSetFunction: BitwiseObjectFromSetFunction<T, D>, maxIndex?: number): BitwiseObjectDecoder<T>;
58
+ /**
59
+ * Encodes/Decodes an object.
60
+ */
61
+ export declare type BitwiseObjectDencoder<T extends object> = BitwiseObjectEncoder<T> & BitwiseObjectDecoder<T>;
62
+ export interface BitwiseObjectDencoderConfig<T extends object, D extends BitwiseEncodedSetIndex = BitwiseEncodedSetIndex> {
63
+ readonly toSetFunction: BitwiseObjectToSetFunction<T, D>;
64
+ readonly fromSetFunction: BitwiseObjectFromSetFunction<T, D>;
65
+ readonly maxIndex?: number;
66
+ }
67
+ export declare function bitwiseObjectDencoder<T extends object, D extends BitwiseEncodedSetIndex = BitwiseEncodedSetIndex>(config: BitwiseObjectDencoderConfig<T, D>): BitwiseObjectDencoder<T>;
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ // MARK: BitwiseSet
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.bitwiseObjectDencoder = exports.bitwiseObjectdecoder = exports.bitwiseObjectEncoder = exports.bitwiseSetDencoder = exports.dencodeBitwiseSet = exports.bitwiseSetDecoder = exports.encodeBitwiseSet = exports.MAX_BITWISE_SET_SIZE = void 0;
5
+ /**
6
+ * A bitwise set is limited to 32 values, the numbers 0-31.
7
+ *
8
+ * This is because Javascript performs bitwise calculations on 32-bit values.
9
+ */
10
+ exports.MAX_BITWISE_SET_SIZE = 32;
11
+ function encodeBitwiseSet(input) {
12
+ let encodedSet = 0;
13
+ input.forEach((value) => {
14
+ encodedSet = encodedSet | (1 << value);
15
+ });
16
+ return encodedSet;
17
+ }
18
+ exports.encodeBitwiseSet = encodeBitwiseSet;
19
+ function bitwiseSetDecoder(maxIndex) {
20
+ return (input) => {
21
+ let encodedSet = new Set();
22
+ for (let i = 0; i < maxIndex; i += 1) {
23
+ if (input & (1 << i)) {
24
+ encodedSet.add(i);
25
+ }
26
+ }
27
+ return encodedSet;
28
+ };
29
+ }
30
+ exports.bitwiseSetDecoder = bitwiseSetDecoder;
31
+ exports.dencodeBitwiseSet = bitwiseSetDecoder(exports.MAX_BITWISE_SET_SIZE);
32
+ function bitwiseSetDencoder(maxIndex) {
33
+ const decoder = maxIndex ? bitwiseSetDecoder(maxIndex) : exports.dencodeBitwiseSet;
34
+ return ((input) => {
35
+ if (typeof input === 'number') {
36
+ return decoder(input);
37
+ }
38
+ else if (input != null) {
39
+ return encodeBitwiseSet(input);
40
+ }
41
+ else {
42
+ return 0;
43
+ }
44
+ });
45
+ }
46
+ exports.bitwiseSetDencoder = bitwiseSetDencoder;
47
+ /**
48
+ * Creates a BitwiseObjectEncoder<T> from the input.
49
+ *
50
+ * @param toSetFunction
51
+ * @returns
52
+ */
53
+ function bitwiseObjectEncoder(toSetFunction) {
54
+ return (input) => {
55
+ const encodedSet = toSetFunction(input);
56
+ return encodeBitwiseSet(encodedSet);
57
+ };
58
+ }
59
+ exports.bitwiseObjectEncoder = bitwiseObjectEncoder;
60
+ function bitwiseObjectdecoder(fromSetFunction, maxIndex) {
61
+ const decoder = maxIndex ? bitwiseSetDecoder(maxIndex) : exports.dencodeBitwiseSet;
62
+ return (set) => {
63
+ const decoded = decoder(set);
64
+ return fromSetFunction(decoded);
65
+ };
66
+ }
67
+ exports.bitwiseObjectdecoder = bitwiseObjectdecoder;
68
+ function bitwiseObjectDencoder(config) {
69
+ const encoder = bitwiseObjectEncoder(config.toSetFunction);
70
+ const decoder = bitwiseObjectdecoder(config.fromSetFunction, config.maxIndex);
71
+ return ((input) => {
72
+ if (typeof input === 'number') {
73
+ return decoder(input);
74
+ }
75
+ else if (input != null) {
76
+ return encoder(input);
77
+ }
78
+ else {
79
+ return 0;
80
+ }
81
+ });
82
+ }
83
+ exports.bitwiseObjectDencoder = bitwiseObjectDencoder;
84
+ //# sourceMappingURL=bitwise.dencoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bitwise.dencoder.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/number/bitwise.dencoder.ts"],"names":[],"mappings":";AAAA,mBAAmB;;;AAInB;;;;GAIG;AACU,QAAA,oBAAoB,GAAG,EAAE,CAAC;AAmBvC,SAAgB,gBAAgB,CAAmC,KAAa;IAC9E,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACtB,UAAU,GAAG,UAAU,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC;AACpB,CAAC;AARD,4CAQC;AAOD,SAAgB,iBAAiB,CAAmC,QAAgB;IAClF,OAAO,CAAC,KAAwB,EAAE,EAAE;QAClC,IAAI,UAAU,GAAG,IAAI,GAAG,EAAK,CAAC;QAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE;YACpC,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE;gBACpB,UAAU,CAAC,GAAG,CAAC,CAAM,CAAC,CAAC;aACxB;SACF;QAED,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC;AAZD,8CAYC;AAEY,QAAA,iBAAiB,GAAG,iBAAiB,CAAC,4BAAoB,CAAC,CAAC;AAOzE,SAAgB,kBAAkB,CAAmC,QAAiB;IACpF,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,yBAAiB,CAAC;IAE9E,OAAO,CAAC,CAAC,KAAiC,EAAE,EAAE;QAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;SACvB;aAAM,IAAI,KAAK,IAAI,IAAI,EAAE;YACxB,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC;SAChC;aAAM;YACL,OAAO,CAAC,CAAC;SACV;IACH,CAAC,CAA0B,CAAC;AAC9B,CAAC;AAZD,gDAYC;AAkBD;;;;;GAKG;AACH,SAAgB,oBAAoB,CAAqD,aAA+C;IACtI,OAAO,CAAC,KAAQ,EAAE,EAAE;QAClB,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACxC,OAAO,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC,CAAC;AACJ,CAAC;AALD,oDAKC;AAOD,SAAgB,oBAAoB,CAAqD,eAAmD,EAAE,QAAiB;IAC7J,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,yBAAiB,CAAC;IAE9E,OAAO,CAAC,GAAsB,EAAE,EAAE;QAChC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAW,CAAC;QACvC,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC,CAAC;AACJ,CAAC;AAPD,oDAOC;AAaD,SAAgB,qBAAqB,CAA8E,MAAyC;IAC1J,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE9E,OAAO,CAAC,CAAC,KAA4B,EAAE,EAAE;QACvC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;SACvB;aAAM,IAAI,KAAK,IAAI,IAAI,EAAE;YACxB,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;SACvB;aAAM;YACL,OAAO,CAAC,CAAC;SACV;IACH,CAAC,CAA6B,CAAC;AACjC,CAAC;AAbD,sDAaC"}
@@ -1,3 +1,4 @@
1
+ export * from './bitwise.dencoder';
1
2
  export * from './factory';
2
3
  export * from './bound';
3
4
  export * from './dollar';
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./bitwise.dencoder"), exports);
4
5
  tslib_1.__exportStar(require("./factory"), exports);
5
6
  tslib_1.__exportStar(require("./bound"), exports);
6
7
  tslib_1.__exportStar(require("./dollar"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/number/index.ts"],"names":[],"mappings":";;;AAAA,oDAA0B;AAC1B,kDAAwB;AACxB,mDAAyB;AACzB,mDAAyB;AACzB,mDAAyB;AACzB,kDAAwB;AACxB,iDAAuB;AACvB,sDAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/number/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC;AACnC,oDAA0B;AAC1B,kDAAwB;AACxB,mDAAyB;AACzB,mDAAyB;AACzB,mDAAyB;AACzB,kDAAwB;AACxB,iDAAuB;AACvB,sDAA4B"}
package/src/lib/type.d.ts CHANGED
@@ -1,5 +1,9 @@
1
1
  import { Merge, NonNever, PickProperties, StrictOmit, UnionToIntersection, Writable } from 'ts-essentials';
2
2
  import { Maybe } from './value/maybe.type';
3
+ /**
4
+ * Boolean, string or number value.
5
+ */
6
+ export declare type PrimativeValue = boolean | string | number;
3
7
  /**
4
8
  * Class typing, restricted to types that have a constructor via the new keyword.
5
9
  */
@@ -1 +1 @@
1
- {"version":3,"file":"type.js","sourceRoot":"","sources":["../../../../../packages/util/src/lib/type.ts"],"names":[],"mappings":";;;AAeA;;;;;GAKG;AACH,SAAgB,uBAAuB,CAAC,GAAQ;IAC9C,OAAO,OAAO,GAAG,KAAK,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC;AAC/G,CAAC;AAFD,0DAEC;AAED;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,GAAY;;IAC1C,OAAO,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA,MAAA,MAAM,CAAC,wBAAwB,CAAC,GAAG,EAAE,WAAW,CAAC,0CAAE,QAAQ,CAAA,CAAC;AACtG,CAAC;AAFD,0CAEC;AAID;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,CAAU;;IACxC,2GAA2G;IAC3G,OAAO,OAAO,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA,MAAA,MAAM,CAAC,wBAAwB,CAAC,CAAC,EAAE,WAAW,CAAC,0CAAE,QAAQ,EAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7M,CAAC;AAHD,0CAGC;AAED;;;;;GAKG;AACH,SAAgB,kBAAkB,CAAC,CAAU;IAC3C,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IAChC,OAAO,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,OAAO,CAAC;AAC1C,CAAC;AAHD,gDAGC"}
1
+ {"version":3,"file":"type.js","sourceRoot":"","sources":["../../../../../packages/util/src/lib/type.ts"],"names":[],"mappings":";;;AAoBA;;;;;GAKG;AACH,SAAgB,uBAAuB,CAAC,GAAQ;IAC9C,OAAO,OAAO,GAAG,KAAK,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC;AAC/G,CAAC;AAFD,0DAEC;AAED;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,GAAY;;IAC1C,OAAO,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA,MAAA,MAAM,CAAC,wBAAwB,CAAC,GAAG,EAAE,WAAW,CAAC,0CAAE,QAAQ,CAAA,CAAC;AACtG,CAAC;AAFD,0CAEC;AAID;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,CAAU;;IACxC,2GAA2G;IAC3G,OAAO,OAAO,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA,MAAA,MAAM,CAAC,wBAAwB,CAAC,CAAC,EAAE,WAAW,CAAC,0CAAE,QAAQ,EAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7M,CAAC;AAHD,0CAGC;AAED;;;;;GAKG;AACH,SAAgB,kBAAkB,CAAC,CAAU;IAC3C,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IAChC,OAAO,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,OAAO,CAAC;AAC1C,CAAC;AAHD,gDAGC"}
package/test/CHANGELOG.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [9.24.17](https://github.com/dereekb/dbx-components/compare/v9.24.16-dev...v9.24.17) (2023-07-24)
6
+
7
+
8
+
5
9
  ## [9.24.16](https://github.com/dereekb/dbx-components/compare/v9.24.15-dev...v9.24.16) (2023-07-14)
6
10
 
7
11
 
package/test/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@dereekb/util/test",
3
- "version": "9.24.16",
3
+ "version": "9.24.17",
4
4
  "type": "commonjs",
5
5
  "main": "./src/index.js",
6
6
  "types": "./src/index.d.ts",
7
7
  "dependencies": {},
8
8
  "peerDependencies": {
9
- "@dereekb/util": "9.24.16",
9
+ "@dereekb/util": "9.24.17",
10
10
  "lodash.isequal": "^4.5.0",
11
11
  "make-error": "^1.3.0",
12
12
  "class-validator": "^0.13.2",