@dereekb/util 9.16.3 → 9.16.4
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 +4 -0
- package/fetch/CHANGELOG.md +4 -0
- package/fetch/package.json +2 -2
- package/package.json +1 -1
- package/src/lib/value/indexed.d.ts +24 -0
- package/src/lib/value/indexed.js +33 -1
- package/src/lib/value/indexed.js.map +1 -1
- package/test/CHANGELOG.md +4 -0
- package/test/package.json +2 -2
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.16.4](https://github.com/dereekb/dbx-components/compare/v9.16.3-dev...v9.16.4) (2022-11-23)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
5
9
|
## [9.16.3](https://github.com/dereekb/dbx-components/compare/v9.16.2-dev...v9.16.3) (2022-11-23)
|
|
6
10
|
|
|
7
11
|
|
package/fetch/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.16.4](https://github.com/dereekb/dbx-components/compare/v9.16.3-dev...v9.16.4) (2022-11-23)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
5
9
|
## [9.16.3](https://github.com/dereekb/dbx-components/compare/v9.16.2-dev...v9.16.3) (2022-11-23)
|
|
6
10
|
|
|
7
11
|
|
package/fetch/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/util/fetch",
|
|
3
|
-
"version": "9.16.
|
|
3
|
+
"version": "9.16.4",
|
|
4
4
|
"main": "./src/index.js",
|
|
5
5
|
"typings": "./src/index.d.ts",
|
|
6
6
|
"dependencies": {},
|
|
7
7
|
"peerDependencies": {
|
|
8
|
-
"@dereekb/util": "9.16.
|
|
8
|
+
"@dereekb/util": "9.16.4",
|
|
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
|
@@ -3,6 +3,7 @@ import { ArrayOrValue } from './../array/array';
|
|
|
3
3
|
import { HashSet } from '../set/set.hashset';
|
|
4
4
|
import { SortCompareFunction } from '../sort';
|
|
5
5
|
import { FactoryWithRequiredInput } from '../getter';
|
|
6
|
+
import { Maybe } from './maybe.type';
|
|
6
7
|
/**
|
|
7
8
|
* A number that denotes which index an item is at.
|
|
8
9
|
*/
|
|
@@ -31,6 +32,10 @@ export declare function sortAscendingIndexNumberRefFunction<T extends IndexRef>(
|
|
|
31
32
|
* Returns an item's IndexNumber.
|
|
32
33
|
*/
|
|
33
34
|
export declare type ReadIndexFunction<T> = (value: T) => IndexNumber;
|
|
35
|
+
/**
|
|
36
|
+
* Returns an item's index, if available.
|
|
37
|
+
*/
|
|
38
|
+
export declare type ReadMaybeIndexFunction<T> = (value: T) => Maybe<IndexNumber>;
|
|
34
39
|
/**
|
|
35
40
|
* Reads an IndexNumber from an IndexRef.
|
|
36
41
|
*
|
|
@@ -38,6 +43,25 @@ export declare type ReadIndexFunction<T> = (value: T) => IndexNumber;
|
|
|
38
43
|
* @returns
|
|
39
44
|
*/
|
|
40
45
|
export declare function readIndexNumber(indexRef: IndexRef): IndexNumber;
|
|
46
|
+
export interface IndexDeltaGroup<T> {
|
|
47
|
+
readonly inputItems: T[];
|
|
48
|
+
readonly previousItems?: Maybe<T[]>;
|
|
49
|
+
/**
|
|
50
|
+
* Items without an index.
|
|
51
|
+
*/
|
|
52
|
+
readonly newItems: T[];
|
|
53
|
+
/**
|
|
54
|
+
* All items with an index.
|
|
55
|
+
*/
|
|
56
|
+
readonly currentItems: T[];
|
|
57
|
+
/**
|
|
58
|
+
* Items from previousItems that have been removed.
|
|
59
|
+
*/
|
|
60
|
+
readonly deletedItems?: T[];
|
|
61
|
+
}
|
|
62
|
+
export declare type IndexDeltaGroupFunction<T> = (inputItems: T[], previousItems?: Maybe<T[]>) => IndexDeltaGroup<T>;
|
|
63
|
+
export declare function indexDeltaGroupFunction<T>(readIndex: ReadMaybeIndexFunction<T>): IndexDeltaGroupFunction<T>;
|
|
64
|
+
export declare function indexDeltaGroup<T>(readIndex: ReadMaybeIndexFunction<T>, inputItems: T[], previousItems?: Maybe<T[]>): IndexDeltaGroup<T>;
|
|
41
65
|
/**
|
|
42
66
|
* Creates a SortCompareFunction<T> that sorts by the read index.
|
|
43
67
|
*
|
package/src/lib/value/indexed.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.indexRangeOverlapsIndexRangeFunction = exports.indexRangeOverlapsIndexRange = exports.isIndexRangeInIndexRangeFunction = exports.isIndexRangeInIndexRange = exports.isIndexNumberInIndexRangeFunction = exports.isIndexNumberInIndexRange = exports.indexRangeCheckFunction = exports.asIndexRangeCheckFunctionConfig = exports.indexRangeCheckReaderFunction = exports.indexRange = exports.indexRangeReaderPairFactory = exports.sortByIndexRangeAscendingCompareFunction = exports.findItemsByIndex = exports.hashSetForIndexed = exports.sortByIndexAscendingCompareFunction = exports.readIndexNumber = exports.sortAscendingIndexNumberRefFunction = void 0;
|
|
3
|
+
exports.indexRangeOverlapsIndexRangeFunction = exports.indexRangeOverlapsIndexRange = exports.isIndexRangeInIndexRangeFunction = exports.isIndexRangeInIndexRange = exports.isIndexNumberInIndexRangeFunction = exports.isIndexNumberInIndexRange = exports.indexRangeCheckFunction = exports.asIndexRangeCheckFunctionConfig = exports.indexRangeCheckReaderFunction = exports.indexRange = exports.indexRangeReaderPairFactory = exports.sortByIndexRangeAscendingCompareFunction = exports.findItemsByIndex = exports.hashSetForIndexed = exports.sortByIndexAscendingCompareFunction = exports.indexDeltaGroup = exports.indexDeltaGroupFunction = exports.readIndexNumber = exports.sortAscendingIndexNumberRefFunction = void 0;
|
|
4
4
|
const set_1 = require("./../set/set");
|
|
5
5
|
const array_1 = require("./../array/array");
|
|
6
6
|
const object_1 = require("../object/object");
|
|
7
7
|
const set_hashset_1 = require("../set/set.hashset");
|
|
8
|
+
const grouping_1 = require("../grouping");
|
|
9
|
+
const map_key_1 = require("../map/map.key");
|
|
8
10
|
/**
|
|
9
11
|
* Creates a SortCompareFunction<T> that sorts by index on IndexRef values.
|
|
10
12
|
*
|
|
@@ -25,6 +27,36 @@ function readIndexNumber(indexRef) {
|
|
|
25
27
|
return indexRef.i;
|
|
26
28
|
}
|
|
27
29
|
exports.readIndexNumber = readIndexNumber;
|
|
30
|
+
function indexDeltaGroupFunction(readIndex) {
|
|
31
|
+
return (inputItems, previousItems) => {
|
|
32
|
+
const { excluded: newItems, // items without an index and treated as "new"
|
|
33
|
+
included: currentItems } = (0, grouping_1.separateValues)(inputItems, (x) => {
|
|
34
|
+
const index = readIndex(x);
|
|
35
|
+
return index != null;
|
|
36
|
+
});
|
|
37
|
+
let deletedItems;
|
|
38
|
+
if (previousItems != null) {
|
|
39
|
+
// compute delta if available
|
|
40
|
+
const currentItemsIndexMap = (0, map_key_1.readKeysToMap)(currentItems, readIndex);
|
|
41
|
+
deletedItems = previousItems.filter((x) => {
|
|
42
|
+
const index = readIndex(x);
|
|
43
|
+
return index != null && !currentItemsIndexMap.has(index);
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
return {
|
|
47
|
+
inputItems,
|
|
48
|
+
previousItems,
|
|
49
|
+
newItems,
|
|
50
|
+
currentItems,
|
|
51
|
+
deletedItems
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
exports.indexDeltaGroupFunction = indexDeltaGroupFunction;
|
|
56
|
+
function indexDeltaGroup(readIndex, inputItems, previousItems) {
|
|
57
|
+
return indexDeltaGroupFunction(readIndex)(inputItems, previousItems);
|
|
58
|
+
}
|
|
59
|
+
exports.indexDeltaGroup = indexDeltaGroup;
|
|
28
60
|
/**
|
|
29
61
|
* Creates a SortCompareFunction<T> that sorts by the read index.
|
|
30
62
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexed.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/value/indexed.ts"],"names":[],"mappings":";;;AAAA,sCAAmE;AACnE,4CAAyD;AACzD,6CAAgD;AAChD,oDAA6C;
|
|
1
|
+
{"version":3,"file":"indexed.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/value/indexed.ts"],"names":[],"mappings":"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"}
|
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.16.4](https://github.com/dereekb/dbx-components/compare/v9.16.3-dev...v9.16.4) (2022-11-23)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
5
9
|
## [9.16.3](https://github.com/dereekb/dbx-components/compare/v9.16.2-dev...v9.16.3) (2022-11-23)
|
|
6
10
|
|
|
7
11
|
|
package/test/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/util/test",
|
|
3
|
-
"version": "9.16.
|
|
3
|
+
"version": "9.16.4",
|
|
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": "9.16.
|
|
9
|
+
"@dereekb/util": "9.16.4",
|
|
10
10
|
"lodash.isequal": "^4.5.0",
|
|
11
11
|
"make-error": "^1.3.0",
|
|
12
12
|
"class-validator": "^0.13.2",
|