@fibery/views 1.1.17 → 2.0.0

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 CHANGED
@@ -1,30 +1,3 @@
1
1
  ## How to update and publish @fibery/views
2
2
 
3
- Execute this:
4
-
5
- yarn build
6
- npm version patch
7
- npm publish --dry-run
8
-
9
- Check the output, it should say there are at least 2 total files:
10
-
11
- npm notice 📦 @fibery/views@1.1.4
12
- npm notice === Tarball Contents ===
13
- npm notice 37.1kB lib/views.js
14
- npm notice 1.1kB package.json
15
- npm notice === Tarball Details ===
16
- npm notice name: @fibery/views
17
- npm notice version: 1.1.4
18
- npm notice package size: 4.7 kB
19
- npm notice unpacked size: 38.3 kB
20
- npm notice shasum: 0c8f17195d49cda1a321edc9a07d443c97ed6ba5
21
- npm notice integrity: sha512-XpaByuvN4YSZi[...]OFceXnL4J2VHw==
22
- npm notice total files: 2
23
- npm notice
24
- + @fibery/views@1.1.4
25
-
26
- If everything looks good, do
27
-
28
- npm publish
29
-
30
- Don't forget to commit the updated package.json.
3
+ Please refer to [How to make changes to packages](../../README.md#how-to-make-changes-to-packages)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fibery/views",
3
- "version": "1.1.17",
3
+ "version": "2.0.0",
4
4
  "description": "Operations on view objects",
5
5
  "license": "UNLICENSED",
6
6
  "author": "Fibery",
@@ -17,14 +17,14 @@
17
17
  "jest-junit": "13.0.0",
18
18
  "lodash": "4.17.21",
19
19
  "microbundle": "0.15.0",
20
- "@fibery/babel-preset": "7.2.0",
21
- "@fibery/eslint-config": "8.3.0",
22
- "@fibery/expression-utils": "1.1.12",
23
- "@fibery/schema": "8.1.11"
20
+ "@fibery/eslint-config": "8.4.0",
21
+ "@fibery/schema": "8.2.0",
22
+ "@fibery/babel-preset": "7.3.0",
23
+ "@fibery/expression-utils": "2.0.0"
24
24
  },
25
25
  "peerDependencies": {
26
- "@fibery/expression-utils": "^1.1.12",
27
- "@fibery/schema": "^8.1.11",
26
+ "@fibery/expression-utils": "^2.0.0",
27
+ "@fibery/schema": "^8.2.0",
28
28
  "immutability-helper": "^2.4.0",
29
29
  "lodash": "^4.17.21"
30
30
  },
@@ -52,8 +52,8 @@
52
52
  "scripts": {
53
53
  "build": "rm -rf lib && microbundle index.js -o lib -f cjs --no-compress --target node --sourcemap false",
54
54
  "test": "node scripts/test.js",
55
- "test:ci": "yarn test --reporters=default --reporters=jest-junit",
56
- "test:coverage": "yarn test --coverage --coverageDirectory=${JEST_COVERAGE_RESULT_DIR:-$(pwd)}/coverage/view --reporters=default --reporters=jest-junit",
55
+ "test:ci": "pnpm run test --reporters=default --reporters=jest-junit",
56
+ "test:coverage": "pnpm run test --coverage --coverageDirectory=${JEST_COVERAGE_RESULT_DIR:-$(pwd)}/coverage/view --reporters=default --reporters=jest-junit",
57
57
  "lint": "eslint ."
58
58
  }
59
59
  }
package/src/index.js ADDED
@@ -0,0 +1,177 @@
1
+ import * as board from "./private/board";
2
+ import * as calendar from "./private/calendar";
3
+ import * as feed from "./private/feed";
4
+ import * as form from "./private/form";
5
+ import * as map from "./private/map";
6
+ import * as smartfolder from "./private/smart-folder";
7
+ import * as table from "./private/table";
8
+ import * as timeline from "./private/timeline";
9
+ import {REMOVE} from "./private/utils";
10
+
11
+ export {
12
+ deleteExpressionWithNotFoundFieldsOrTypesInSmartFolder,
13
+ replaceIdsWithNamesInSmartFolder,
14
+ replaceNamesWithIdsInSmartFolder,
15
+ } from "./private/smart-folder";
16
+
17
+ export const deleteExpressionWithNotFoundFieldsOrTypesInView = (schema, view, ensureAxisInvariant = true) => {
18
+ switch (view["fibery/type"]) {
19
+ case "board":
20
+ return board.deleteExpressionWithNotFoundOrInvalidFieldsOrTypesInBoardView(schema, view, ensureAxisInvariant);
21
+ case "list":
22
+ return smartfolder.deleteExpressionWithNotFoundFieldsOrTypesInSmartFolder(schema, view);
23
+ case "grid":
24
+ return smartfolder.deleteExpressionWithNotFoundFieldsOrTypesInSmartFolder(schema, view);
25
+ case "timeline":
26
+ return timeline.deleteExpressionWithNotFoundFieldsOrTypesInTimelineView(schema, view, ensureAxisInvariant);
27
+ case "calendar":
28
+ return calendar.deleteExpressionWithNotFoundFieldsOrTypesInCalendarView(schema, view);
29
+ case "table":
30
+ return table.deleteExpressionWithNotFoundFieldsOrTypesInTableView(schema, view);
31
+ case "feed":
32
+ return feed.deleteExpressionWithNotFoundFieldsOrTypesInFeedView(schema, view);
33
+ case "form":
34
+ return form.deleteExpressionWithNotFoundFieldsOrTypesInFormView(schema, view);
35
+ case "map":
36
+ return map.deleteExpressionWithNotFoundFieldsOrTypesInMapView(schema, view);
37
+ default:
38
+ return view;
39
+ }
40
+ };
41
+
42
+ export const fixUserSelectedUnits = (schema, view) => {
43
+ switch (view["fibery/type"]) {
44
+ case "board":
45
+ return board.fixUserSelectedUnitsInBoardView(schema, view);
46
+ case "list":
47
+ return smartfolder.fixUserSelectedUnitsInSmartFolder(schema, view);
48
+ case "grid":
49
+ return smartfolder.fixUserSelectedUnitsInSmartFolder(schema, view);
50
+ case "table":
51
+ return table.fixUserSelectedUnitsInTableView(schema, view);
52
+ case "timeline":
53
+ return timeline.fixUserSelectedUnitsInTimelineView(schema, view);
54
+ case "calendar":
55
+ return calendar.fixUserSelectedUnitsInCalendarView(schema, view);
56
+ case "feed":
57
+ return feed.fixUserSelectedUnitsInFeedView(schema, view);
58
+ case "map":
59
+ return map.fixUserSelectedUnitsInMapView(schema, view);
60
+ default:
61
+ return view;
62
+ }
63
+ };
64
+
65
+ export const fixContextExpressionWithBrokenPath = (schema, view, defaultContextExpression) => {
66
+ switch (view["fibery/type"]) {
67
+ case "board":
68
+ return board.fixContextExpressionWithBrokenPath(schema, view, defaultContextExpression);
69
+ case "list":
70
+ return smartfolder.fixContextExpressionWithBrokenPath(schema, view, defaultContextExpression);
71
+ case "grid":
72
+ return smartfolder.fixContextExpressionWithBrokenPath(schema, view, defaultContextExpression);
73
+ case "table":
74
+ return table.fixContextExpressionWithBrokenPath(schema, view, defaultContextExpression);
75
+ case "timeline":
76
+ return timeline.fixContextExpressionWithBrokenPath(schema, view, defaultContextExpression);
77
+ case "calendar":
78
+ return calendar.fixContextExpressionWithBrokenPath(schema, view, defaultContextExpression);
79
+ case "feed":
80
+ return feed.fixContextExpressionWithBrokenPath(schema, view, defaultContextExpression);
81
+ case "map":
82
+ return map.fixContextExpressionWithBrokenPath(schema, view, defaultContextExpression);
83
+ default:
84
+ return view;
85
+ }
86
+ };
87
+
88
+ /**
89
+ * Removes garbage from view's meta to reduce the size.
90
+ */
91
+ export const collectGarbage = (schema, view) => {
92
+ const deleteRemoved = (x) => {
93
+ if (Array.isArray(x)) {
94
+ return x.map(deleteRemoved).filter((y) => y !== REMOVE);
95
+ }
96
+ if (typeof x === "object" && x !== null) {
97
+ let tmp = Object.entries(x);
98
+ tmp = tmp.map((e) => [e[0], deleteRemoved(e[1])]);
99
+ tmp = tmp.filter((e) => e[1] !== REMOVE);
100
+ return Object.fromEntries(tmp);
101
+ }
102
+ return x;
103
+ };
104
+
105
+ switch (view["fibery/type"]) {
106
+ case "board":
107
+ return deleteRemoved(board.collectGarbage(view));
108
+ case "list":
109
+ return deleteRemoved(smartfolder.collectGarbage(view));
110
+ case "grid":
111
+ return deleteRemoved(smartfolder.collectGarbage(view));
112
+ case "table":
113
+ return deleteRemoved(table.collectGarbage(view));
114
+ case "timeline":
115
+ return deleteRemoved(timeline.collectGarbage(view));
116
+ case "calendar":
117
+ return deleteRemoved(calendar.collectGarbage(view));
118
+ case "feed":
119
+ return deleteRemoved(feed.collectGarbage(view));
120
+ case "map":
121
+ return deleteRemoved(map.collectGarbage(view));
122
+ default:
123
+ return view;
124
+ }
125
+ };
126
+
127
+ export const replaceNamesWithIdsInView = (schema, view) => {
128
+ switch (view["fibery/type"]) {
129
+ case "board":
130
+ return board.replaceNamesWithIdsInBoardView(schema, view);
131
+ case "list":
132
+ return smartfolder.replaceNamesWithIdsInSmartFolder(schema, view);
133
+ case "grid":
134
+ return smartfolder.replaceNamesWithIdsInSmartFolder(schema, view);
135
+ case "table":
136
+ return table.replaceNamesWithIdsInTableView(schema, view);
137
+ case "timeline":
138
+ return timeline.replaceNamesWithIdsInTimelineView(schema, view);
139
+ case "calendar":
140
+ return calendar.replaceNamesWithIdsInCalendarView(schema, view);
141
+ case "feed":
142
+ return feed.replaceNamesWithIdsInFeedView(schema, view);
143
+ case "form":
144
+ return form.replaceNamesWithIdsInFormView(schema, view);
145
+ case "map":
146
+ return map.replaceNamesWithIdsInMapView(schema, view);
147
+ default:
148
+ return view;
149
+ }
150
+ };
151
+
152
+ export const replaceIdsWithNamesInView = (schema, view) => {
153
+ switch (view["fibery/type"]) {
154
+ case "board":
155
+ return board.replaceIdsWithNamesInBoardView(schema, view);
156
+ case "list":
157
+ return smartfolder.replaceIdsWithNamesInSmartFolder(schema, view);
158
+ case "grid":
159
+ return smartfolder.replaceIdsWithNamesInSmartFolder(schema, view);
160
+ case "table":
161
+ return table.replaceIdsWithNamesInTableView(schema, view);
162
+ case "timeline":
163
+ return timeline.replaceIdsWithNamesInTimelineView(schema, view);
164
+ case "calendar":
165
+ return calendar.replaceIdsWithNamesInCalendarView(schema, view);
166
+ case "feed":
167
+ return feed.replaceIdsWithNamesInFeedView(schema, view);
168
+ case "form":
169
+ return form.replaceIdsWithNamesInFormView(schema, view);
170
+ case "map":
171
+ return map.replaceIdsWithNamesInMapView(schema, view);
172
+ default:
173
+ return view;
174
+ }
175
+ };
176
+
177
+ export const getViewCardTypes = ({"fibery/meta": {items}}) => items.map(({query: {"q/from": type}}) => type);
package/lib/views.d.ts DELETED
@@ -1,17 +0,0 @@
1
- /**
2
- * Removes garbage from view's meta to reduce the size.
3
- */
4
- export function collectGarbage(schema: any, view: any): any;
5
- export function deleteExpressionWithNotFoundFieldsOrTypesInSmartFolder(schema: any, smartFolder: any): any;
6
- export function deleteExpressionWithNotFoundFieldsOrTypesInView(schema: any, view: any, ensureAxisInvariant?: boolean): any;
7
- export function fixContextExpressionWithBrokenPath(schema: any, view: any, defaultContextExpression: any): any;
8
- export function fixUserSelectedUnits(schema: any, view: any): any;
9
- export function getViewCardTypes({ "fibery/meta": { items } }: {
10
- "fibery/meta": {
11
- items: any;
12
- };
13
- }): any;
14
- export function replaceIdsWithNamesInSmartFolder(schema: any, smartFolder: any): any;
15
- export function replaceIdsWithNamesInView(schema: any, view: any): any;
16
- export function replaceNamesWithIdsInSmartFolder(schema: any, smartFolder: any): any;
17
- export function replaceNamesWithIdsInView(schema: any, view: any): any;