@graffy/common 0.16.0-alpha.10 → 0.16.0-alpha.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/index.cjs +45 -46
- package/index.mjs +45 -46
- package/package.json +2 -2
- package/types/ops/finalize.d.ts +8 -1
package/index.cjs
CHANGED
|
@@ -1016,7 +1016,7 @@ function setVersion(graph, version, onlyIfZero = false) {
|
|
|
1016
1016
|
if (!onlyIfZero || !node.version)
|
|
1017
1017
|
node.version = version;
|
|
1018
1018
|
if (node.children)
|
|
1019
|
-
setVersion(node.children, version);
|
|
1019
|
+
setVersion(node.children, version, onlyIfZero);
|
|
1020
1020
|
}
|
|
1021
1021
|
return graph;
|
|
1022
1022
|
}
|
|
@@ -1038,13 +1038,13 @@ function getKnown(graph, version = 0) {
|
|
|
1038
1038
|
}
|
|
1039
1039
|
return query;
|
|
1040
1040
|
}
|
|
1041
|
-
function finalize(graph, query, version = Date.now()
|
|
1041
|
+
function finalize(graph, query, version = Date.now()) {
|
|
1042
1042
|
let result = [{ key: MIN_KEY, end: MAX_KEY, version: 0 }];
|
|
1043
1043
|
merge(result, graph);
|
|
1044
1044
|
if (query)
|
|
1045
1045
|
result = slice(result, query).known || [];
|
|
1046
|
-
if (!
|
|
1047
|
-
result = setVersion(result, version);
|
|
1046
|
+
if (!version !== false)
|
|
1047
|
+
result = setVersion(result, version, true);
|
|
1048
1048
|
return result;
|
|
1049
1049
|
}
|
|
1050
1050
|
const PRE_CHI_PUT = Symbol("PREFIX_CHILDREN_$PUT");
|
|
@@ -1506,45 +1506,47 @@ function encode(value, { version, isGraph } = {}) {
|
|
|
1506
1506
|
if (typeof object === "object" && object && isEmpty(object))
|
|
1507
1507
|
return;
|
|
1508
1508
|
const { $key, $ver, $ref, $val, $chi, $put, ...props2 } = object || {};
|
|
1509
|
-
if (typeof object === "object" && object && !Array.isArray(object)) {
|
|
1510
|
-
object = Object.fromEntries(
|
|
1511
|
-
Object.entries({ $key, $ver, $ref, $val, $chi, $put, ...props2 }).filter(
|
|
1512
|
-
([_, val]) => isDef(val)
|
|
1513
|
-
)
|
|
1514
|
-
);
|
|
1515
|
-
}
|
|
1516
1509
|
if (isDef($ver))
|
|
1517
1510
|
ver = $ver;
|
|
1518
1511
|
if (isPlainObject($key)) {
|
|
1519
1512
|
const [page, filter] = splitArgs($key);
|
|
1520
|
-
|
|
1521
|
-
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
|
|
1525
|
-
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
|
|
1529
|
-
|
|
1530
|
-
|
|
1531
|
-
|
|
1532
|
-
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1513
|
+
if (page) {
|
|
1514
|
+
if (typeof object === "object" && object && !Array.isArray(object)) {
|
|
1515
|
+
object = {
|
|
1516
|
+
...Object.fromEntries(
|
|
1517
|
+
Object.entries({
|
|
1518
|
+
$key,
|
|
1519
|
+
$ver,
|
|
1520
|
+
$ref,
|
|
1521
|
+
$val,
|
|
1522
|
+
$chi,
|
|
1523
|
+
$put
|
|
1524
|
+
}).filter(([_, val]) => isDef(val))
|
|
1525
|
+
),
|
|
1526
|
+
...props2
|
|
1527
|
+
};
|
|
1528
|
+
}
|
|
1529
|
+
const foundPuts = parentPuts.filter(([_, putFilter]) => isEqual__default.default(filter, putFilter)).map(([range]) => range);
|
|
1530
|
+
if (isGraph && !isDef(page.$cursor) && ($ref || $val || $chi || $put || !isEmpty(props2))) {
|
|
1531
|
+
object.$key = filter || {};
|
|
1532
|
+
object.$put = foundPuts;
|
|
1533
|
+
const node2 = makeNode2(object, key, ver);
|
|
1534
|
+
if (!filter)
|
|
1535
|
+
node2.key = MIN_KEY;
|
|
1536
|
+
node2.prefix = true;
|
|
1537
|
+
return node2;
|
|
1538
|
+
}
|
|
1539
|
+
if ((!isDef(key) || Number.isInteger(key)) && (filter || isDef(page.$cursor))) {
|
|
1540
|
+
object.$key = isDef(page.$cursor) ? page.$cursor : page;
|
|
1541
|
+
const wrapper = { $key: filter || {}, $chi: [object] };
|
|
1542
|
+
if (isGraph)
|
|
1543
|
+
wrapper.$put = foundPuts;
|
|
1544
|
+
const node2 = makeNode2(wrapper, key, ver);
|
|
1545
|
+
if (!filter)
|
|
1546
|
+
node2.key = MIN_KEY;
|
|
1547
|
+
node2.prefix = true;
|
|
1548
|
+
return node2;
|
|
1549
|
+
}
|
|
1548
1550
|
}
|
|
1549
1551
|
}
|
|
1550
1552
|
let putQuery = [], prefixPuts = [];
|
|
@@ -1617,12 +1619,7 @@ function encode(value, { version, isGraph } = {}) {
|
|
|
1617
1619
|
}
|
|
1618
1620
|
}
|
|
1619
1621
|
if (isGraph && (putQuery === null || putQuery.length)) {
|
|
1620
|
-
node.children = finalize(
|
|
1621
|
-
node.children || [],
|
|
1622
|
-
putQuery,
|
|
1623
|
-
node.version,
|
|
1624
|
-
true
|
|
1625
|
-
);
|
|
1622
|
+
node.children = finalize(node.children || [], putQuery, false);
|
|
1626
1623
|
}
|
|
1627
1624
|
if (((_a2 = node.children) == null ? void 0 : _a2.length) || isDef(node.end) || isDef(node.value) || isDef(node.path)) {
|
|
1628
1625
|
return node;
|
|
@@ -1637,7 +1634,9 @@ function encode(value, { version, isGraph } = {}) {
|
|
|
1637
1634
|
return result;
|
|
1638
1635
|
}
|
|
1639
1636
|
function encodeGraph(obj, version = Date.now()) {
|
|
1640
|
-
|
|
1637
|
+
const encoded = encode(obj, { version, isGraph: true });
|
|
1638
|
+
const versioned = setVersion(encoded, version, true);
|
|
1639
|
+
return versioned;
|
|
1641
1640
|
}
|
|
1642
1641
|
function encodeQuery(obj, version = 0) {
|
|
1643
1642
|
return encode(obj, { version, isGraph: false });
|
package/index.mjs
CHANGED
|
@@ -1011,7 +1011,7 @@ function setVersion(graph, version, onlyIfZero = false) {
|
|
|
1011
1011
|
if (!onlyIfZero || !node.version)
|
|
1012
1012
|
node.version = version;
|
|
1013
1013
|
if (node.children)
|
|
1014
|
-
setVersion(node.children, version);
|
|
1014
|
+
setVersion(node.children, version, onlyIfZero);
|
|
1015
1015
|
}
|
|
1016
1016
|
return graph;
|
|
1017
1017
|
}
|
|
@@ -1033,13 +1033,13 @@ function getKnown(graph, version = 0) {
|
|
|
1033
1033
|
}
|
|
1034
1034
|
return query;
|
|
1035
1035
|
}
|
|
1036
|
-
function finalize(graph, query, version = Date.now()
|
|
1036
|
+
function finalize(graph, query, version = Date.now()) {
|
|
1037
1037
|
let result = [{ key: MIN_KEY, end: MAX_KEY, version: 0 }];
|
|
1038
1038
|
merge(result, graph);
|
|
1039
1039
|
if (query)
|
|
1040
1040
|
result = slice(result, query).known || [];
|
|
1041
|
-
if (!
|
|
1042
|
-
result = setVersion(result, version);
|
|
1041
|
+
if (!version !== false)
|
|
1042
|
+
result = setVersion(result, version, true);
|
|
1043
1043
|
return result;
|
|
1044
1044
|
}
|
|
1045
1045
|
const PRE_CHI_PUT = Symbol("PREFIX_CHILDREN_$PUT");
|
|
@@ -1501,45 +1501,47 @@ function encode(value, { version, isGraph } = {}) {
|
|
|
1501
1501
|
if (typeof object === "object" && object && isEmpty(object))
|
|
1502
1502
|
return;
|
|
1503
1503
|
const { $key, $ver, $ref, $val, $chi, $put, ...props2 } = object || {};
|
|
1504
|
-
if (typeof object === "object" && object && !Array.isArray(object)) {
|
|
1505
|
-
object = Object.fromEntries(
|
|
1506
|
-
Object.entries({ $key, $ver, $ref, $val, $chi, $put, ...props2 }).filter(
|
|
1507
|
-
([_, val]) => isDef(val)
|
|
1508
|
-
)
|
|
1509
|
-
);
|
|
1510
|
-
}
|
|
1511
1504
|
if (isDef($ver))
|
|
1512
1505
|
ver = $ver;
|
|
1513
1506
|
if (isPlainObject($key)) {
|
|
1514
1507
|
const [page, filter] = splitArgs($key);
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
|
|
1518
|
-
|
|
1519
|
-
|
|
1520
|
-
|
|
1521
|
-
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
|
|
1525
|
-
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
|
|
1529
|
-
|
|
1530
|
-
|
|
1531
|
-
|
|
1532
|
-
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
|
|
1508
|
+
if (page) {
|
|
1509
|
+
if (typeof object === "object" && object && !Array.isArray(object)) {
|
|
1510
|
+
object = {
|
|
1511
|
+
...Object.fromEntries(
|
|
1512
|
+
Object.entries({
|
|
1513
|
+
$key,
|
|
1514
|
+
$ver,
|
|
1515
|
+
$ref,
|
|
1516
|
+
$val,
|
|
1517
|
+
$chi,
|
|
1518
|
+
$put
|
|
1519
|
+
}).filter(([_, val]) => isDef(val))
|
|
1520
|
+
),
|
|
1521
|
+
...props2
|
|
1522
|
+
};
|
|
1523
|
+
}
|
|
1524
|
+
const foundPuts = parentPuts.filter(([_, putFilter]) => isEqual(filter, putFilter)).map(([range]) => range);
|
|
1525
|
+
if (isGraph && !isDef(page.$cursor) && ($ref || $val || $chi || $put || !isEmpty(props2))) {
|
|
1526
|
+
object.$key = filter || {};
|
|
1527
|
+
object.$put = foundPuts;
|
|
1528
|
+
const node2 = makeNode2(object, key, ver);
|
|
1529
|
+
if (!filter)
|
|
1530
|
+
node2.key = MIN_KEY;
|
|
1531
|
+
node2.prefix = true;
|
|
1532
|
+
return node2;
|
|
1533
|
+
}
|
|
1534
|
+
if ((!isDef(key) || Number.isInteger(key)) && (filter || isDef(page.$cursor))) {
|
|
1535
|
+
object.$key = isDef(page.$cursor) ? page.$cursor : page;
|
|
1536
|
+
const wrapper = { $key: filter || {}, $chi: [object] };
|
|
1537
|
+
if (isGraph)
|
|
1538
|
+
wrapper.$put = foundPuts;
|
|
1539
|
+
const node2 = makeNode2(wrapper, key, ver);
|
|
1540
|
+
if (!filter)
|
|
1541
|
+
node2.key = MIN_KEY;
|
|
1542
|
+
node2.prefix = true;
|
|
1543
|
+
return node2;
|
|
1544
|
+
}
|
|
1543
1545
|
}
|
|
1544
1546
|
}
|
|
1545
1547
|
let putQuery = [], prefixPuts = [];
|
|
@@ -1612,12 +1614,7 @@ function encode(value, { version, isGraph } = {}) {
|
|
|
1612
1614
|
}
|
|
1613
1615
|
}
|
|
1614
1616
|
if (isGraph && (putQuery === null || putQuery.length)) {
|
|
1615
|
-
node.children = finalize(
|
|
1616
|
-
node.children || [],
|
|
1617
|
-
putQuery,
|
|
1618
|
-
node.version,
|
|
1619
|
-
true
|
|
1620
|
-
);
|
|
1617
|
+
node.children = finalize(node.children || [], putQuery, false);
|
|
1621
1618
|
}
|
|
1622
1619
|
if (((_a2 = node.children) == null ? void 0 : _a2.length) || isDef(node.end) || isDef(node.value) || isDef(node.path)) {
|
|
1623
1620
|
return node;
|
|
@@ -1632,7 +1629,9 @@ function encode(value, { version, isGraph } = {}) {
|
|
|
1632
1629
|
return result;
|
|
1633
1630
|
}
|
|
1634
1631
|
function encodeGraph(obj, version = Date.now()) {
|
|
1635
|
-
|
|
1632
|
+
const encoded = encode(obj, { version, isGraph: true });
|
|
1633
|
+
const versioned = setVersion(encoded, version, true);
|
|
1634
|
+
return versioned;
|
|
1636
1635
|
}
|
|
1637
1636
|
function encodeQuery(obj, version = 0) {
|
|
1638
1637
|
return encode(obj, { version, isGraph: false });
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@graffy/common",
|
|
3
3
|
"description": "Common libraries that used by various Graffy modules.",
|
|
4
4
|
"author": "aravind (https://github.com/aravindet)",
|
|
5
|
-
"version": "0.16.0-alpha.
|
|
5
|
+
"version": "0.16.0-alpha.11",
|
|
6
6
|
"main": "./index.cjs",
|
|
7
7
|
"exports": {
|
|
8
8
|
"import": "./index.mjs",
|
|
@@ -18,6 +18,6 @@
|
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"lodash": "^4.17.19",
|
|
20
20
|
"merge-async-iterators": "^0.2.1",
|
|
21
|
-
"@graffy/stream": "0.16.0-alpha.
|
|
21
|
+
"@graffy/stream": "0.16.0-alpha.11"
|
|
22
22
|
}
|
|
23
23
|
}
|
package/types/ops/finalize.d.ts
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* @param {any} graph
|
|
4
|
+
* @param {any} query
|
|
5
|
+
* @param {number | false} version
|
|
6
|
+
* @returns any
|
|
7
|
+
*/
|
|
8
|
+
export default function finalize(graph: any, query: any, version?: number | false): {
|
|
2
9
|
key: Uint8Array;
|
|
3
10
|
end: Uint8Array;
|
|
4
11
|
version: number;
|