@fibery/views 1.1.5 → 1.1.6
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/README.md +0 -1
- package/lib/views.js +83 -0
- package/package.json +4 -4
package/README.md
CHANGED
package/lib/views.js
CHANGED
|
@@ -108,6 +108,9 @@ const fixViewUnit = (schema, fromType, unit) => {
|
|
|
108
108
|
return unit;
|
|
109
109
|
};
|
|
110
110
|
|
|
111
|
+
// output. Not supported in all places, add support as needed.
|
|
112
|
+
|
|
113
|
+
const REMOVE = Symbol("remove");
|
|
111
114
|
const deleteExpressionWithNotFoundFieldsOrTypesInQueryExpression = (schema, queryExpression) => {
|
|
112
115
|
const {
|
|
113
116
|
"q/from": fromExpression,
|
|
@@ -469,6 +472,14 @@ const deleteExpressionWithNotFoundOrInvalidFieldsOrTypesInBoardView = (schema, v
|
|
|
469
472
|
const fixUserSelectedUnitsInBoardView = (schema, view) => {
|
|
470
473
|
return visitView$4(view, fixUserSelectedUnitsViewVisitor(schema));
|
|
471
474
|
};
|
|
475
|
+
const collectGarbage$5 = view => {
|
|
476
|
+
return visitView$4(view, {
|
|
477
|
+
visitQueryExpression: queryExpression => queryExpression,
|
|
478
|
+
visitExpression: (fromType, expression) => expression,
|
|
479
|
+
visitEnums: enums => enums,
|
|
480
|
+
visitViewUnit: (fromType, unit) => unit.checked ? unit : REMOVE
|
|
481
|
+
});
|
|
482
|
+
};
|
|
472
483
|
|
|
473
484
|
const visitView$3 = (view, visitor) => immutableUpdate__default["default"](view, {
|
|
474
485
|
"fibery/meta": {
|
|
@@ -533,6 +544,13 @@ const fixUserSelectedUnitsInCalendarView = (schema, view) => {
|
|
|
533
544
|
visitViewUnit: (fromType, unit) => fixViewUnit(schema, fromType, unit)
|
|
534
545
|
});
|
|
535
546
|
};
|
|
547
|
+
const collectGarbage$4 = view => {
|
|
548
|
+
return visitView$3(view, {
|
|
549
|
+
visitExpression: (fromType, expression) => expression,
|
|
550
|
+
visitQueryExpression: query => query,
|
|
551
|
+
visitViewUnit: (fromType, unit) => unit.checked ? unit : REMOVE
|
|
552
|
+
});
|
|
553
|
+
};
|
|
536
554
|
|
|
537
555
|
const visitView$2 = (view, visitor) => immutableUpdate__default["default"](view, {
|
|
538
556
|
"fibery/meta": {
|
|
@@ -594,6 +612,13 @@ const fixUserSelectedUnitsInFeedView = (schema, view) => {
|
|
|
594
612
|
visitViewUnit: (fromType, unit) => fixViewUnit(schema, fromType, unit)
|
|
595
613
|
});
|
|
596
614
|
};
|
|
615
|
+
const collectGarbage$3 = view => {
|
|
616
|
+
return visitView$2(view, {
|
|
617
|
+
visitExpression: (fromType, expression) => expression,
|
|
618
|
+
visitQueryExpression: query => query,
|
|
619
|
+
visitViewUnit: (fromType, unit) => unit.checked ? unit : REMOVE
|
|
620
|
+
});
|
|
621
|
+
};
|
|
597
622
|
|
|
598
623
|
const visitSmartFolder = (smartFolder, visitor) => immutableUpdate__default["default"](smartFolder, {
|
|
599
624
|
"fibery/meta": {
|
|
@@ -787,6 +812,13 @@ const fixUserSelectedUnitsInTableView = (schema, view) => visitView$1(view, {
|
|
|
787
812
|
visitQueryExpression: query => query,
|
|
788
813
|
visitViewUnit: (fromType, unit) => fixViewUnit(schema, fromType, unit)
|
|
789
814
|
});
|
|
815
|
+
const collectGarbage$2 = view => {
|
|
816
|
+
return visitView$1(view, {
|
|
817
|
+
visitExpression: (fromType, expression) => expression,
|
|
818
|
+
visitQueryExpression: query => query,
|
|
819
|
+
visitViewUnit: (fromType, unit) => unit.checked ? unit : REMOVE
|
|
820
|
+
});
|
|
821
|
+
};
|
|
790
822
|
|
|
791
823
|
const visitAxis = (axis, visitor) => {
|
|
792
824
|
if (!axis) {
|
|
@@ -949,6 +981,13 @@ const fixUserSelectedUnitsInTimelineView = (schema, view) => {
|
|
|
949
981
|
visitViewUnit: (fromType, unit) => fixViewUnit(schema, fromType, unit)
|
|
950
982
|
});
|
|
951
983
|
};
|
|
984
|
+
const collectGarbage$1 = view => {
|
|
985
|
+
return visitView(view, {
|
|
986
|
+
visitQueryExpression: query => query,
|
|
987
|
+
visitExpression: (fromType, expression) => expression,
|
|
988
|
+
visitViewUnit: (fromType, unit) => unit.checked ? unit : REMOVE
|
|
989
|
+
});
|
|
990
|
+
};
|
|
952
991
|
|
|
953
992
|
const deleteExpressionWithNotFoundFieldsOrTypesInView = (schema, view, ensureAxisInvariant = true) => {
|
|
954
993
|
switch (view["fibery/type"]) {
|
|
@@ -998,6 +1037,49 @@ const fixUserSelectedUnits = (schema, view) => {
|
|
|
998
1037
|
return view;
|
|
999
1038
|
}
|
|
1000
1039
|
};
|
|
1040
|
+
/**
|
|
1041
|
+
* Removes garbage from view's meta to reduce the size.
|
|
1042
|
+
*/
|
|
1043
|
+
|
|
1044
|
+
const collectGarbage = (schema, view) => {
|
|
1045
|
+
const deleteRemoved = x => {
|
|
1046
|
+
if (Array.isArray(x)) {
|
|
1047
|
+
return x.map(deleteRemoved).filter(y => y !== REMOVE);
|
|
1048
|
+
}
|
|
1049
|
+
|
|
1050
|
+
if (typeof x === "object" && x !== null) {
|
|
1051
|
+
let tmp = Object.entries(x);
|
|
1052
|
+
tmp = tmp.map(e => [e[0], deleteRemoved(e[1])]);
|
|
1053
|
+
tmp = tmp.filter(e => e[1] !== REMOVE);
|
|
1054
|
+
return Object.fromEntries(tmp);
|
|
1055
|
+
}
|
|
1056
|
+
|
|
1057
|
+
return x;
|
|
1058
|
+
};
|
|
1059
|
+
|
|
1060
|
+
switch (view["fibery/type"]) {
|
|
1061
|
+
case "board":
|
|
1062
|
+
return deleteRemoved(collectGarbage$5(view));
|
|
1063
|
+
|
|
1064
|
+
case "list":
|
|
1065
|
+
return deleteRemoved(undefined(view));
|
|
1066
|
+
|
|
1067
|
+
case "table":
|
|
1068
|
+
return deleteRemoved(collectGarbage$2(view));
|
|
1069
|
+
|
|
1070
|
+
case "timeline":
|
|
1071
|
+
return deleteRemoved(collectGarbage$1(view));
|
|
1072
|
+
|
|
1073
|
+
case "calendar":
|
|
1074
|
+
return deleteRemoved(collectGarbage$4(view));
|
|
1075
|
+
|
|
1076
|
+
case "feed":
|
|
1077
|
+
return deleteRemoved(collectGarbage$3(view));
|
|
1078
|
+
|
|
1079
|
+
default:
|
|
1080
|
+
return view;
|
|
1081
|
+
}
|
|
1082
|
+
};
|
|
1001
1083
|
const replaceNamesWithIdsInView = (schema, view) => {
|
|
1002
1084
|
switch (view["fibery/type"]) {
|
|
1003
1085
|
case "board":
|
|
@@ -1056,6 +1138,7 @@ const getViewCardTypes = ({
|
|
|
1056
1138
|
}
|
|
1057
1139
|
}) => type);
|
|
1058
1140
|
|
|
1141
|
+
exports.collectGarbage = collectGarbage;
|
|
1059
1142
|
exports.deleteExpressionWithNotFoundFieldsOrTypesInSmartFolder = deleteExpressionWithNotFoundFieldsOrTypesInSmartFolder;
|
|
1060
1143
|
exports.deleteExpressionWithNotFoundFieldsOrTypesInView = deleteExpressionWithNotFoundFieldsOrTypesInView;
|
|
1061
1144
|
exports.fixUserSelectedUnits = fixUserSelectedUnits;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fibery/views",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.6",
|
|
4
4
|
"description": "Operations on view objects",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"author": "Fibery",
|
|
@@ -19,11 +19,11 @@
|
|
|
19
19
|
"@fibery/eslint-config": "7.1.0",
|
|
20
20
|
"jest": "27.5.1",
|
|
21
21
|
"jest-junit": "13.0.0",
|
|
22
|
-
"microbundle": "0.
|
|
22
|
+
"microbundle": "0.15.0"
|
|
23
23
|
},
|
|
24
24
|
"peerDependencies": {
|
|
25
25
|
"@fibery/expression-utils": "^1.1.4",
|
|
26
|
-
"fibery
|
|
26
|
+
"@fibery/schema": "^8.0.6",
|
|
27
27
|
"immutability-helper": "^2.4.0",
|
|
28
28
|
"lodash": "^4.17.21"
|
|
29
29
|
},
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"<rootDir>[/\\\\](build|docs|node_modules|scripts)[/\\\\]"
|
|
51
51
|
],
|
|
52
52
|
"transform": {
|
|
53
|
-
"^.+\\.(js|jsx|ts|tsx)$": "
|
|
53
|
+
"^.+\\.(js|jsx|ts|tsx)$": "../../fibery-ui/config/jest/babel.js"
|
|
54
54
|
},
|
|
55
55
|
"testURL": "http://localhost"
|
|
56
56
|
}
|