@webiny/app-aco 0.0.0-ee-vpcs.549378cf03

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.
Files changed (117) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +349 -0
  3. package/components/Dialogs/DialogCreate.d.ts +10 -0
  4. package/components/Dialogs/DialogCreate.js +153 -0
  5. package/components/Dialogs/DialogCreate.js.map +1 -0
  6. package/components/Dialogs/DialogDelete.d.ts +10 -0
  7. package/components/Dialogs/DialogDelete.js +135 -0
  8. package/components/Dialogs/DialogDelete.js.map +1 -0
  9. package/components/Dialogs/DialogUpdate.d.ts +10 -0
  10. package/components/Dialogs/DialogUpdate.js +186 -0
  11. package/components/Dialogs/DialogUpdate.js.map +1 -0
  12. package/components/Dialogs/index.d.ts +3 -0
  13. package/components/Dialogs/index.js +44 -0
  14. package/components/Dialogs/index.js.map +1 -0
  15. package/components/Dialogs/styled.d.ts +8 -0
  16. package/components/Dialogs/styled.js +23 -0
  17. package/components/Dialogs/styled.js.map +1 -0
  18. package/components/Tree/ButtonCreate/index.d.ts +6 -0
  19. package/components/Tree/ButtonCreate/index.js +33 -0
  20. package/components/Tree/ButtonCreate/index.js.map +1 -0
  21. package/components/Tree/ButtonCreate/styled.d.ts +18 -0
  22. package/components/Tree/ButtonCreate/styled.js +28 -0
  23. package/components/Tree/ButtonCreate/styled.js.map +1 -0
  24. package/components/Tree/Empty/index.d.ts +2 -0
  25. package/components/Tree/Empty/index.js +30 -0
  26. package/components/Tree/Empty/index.js.map +1 -0
  27. package/components/Tree/Empty/styled.d.ts +4 -0
  28. package/components/Tree/Empty/styled.js +16 -0
  29. package/components/Tree/Empty/styled.js.map +1 -0
  30. package/components/Tree/List/constants.d.ts +1 -0
  31. package/components/Tree/List/constants.js +8 -0
  32. package/components/Tree/List/constants.js.map +1 -0
  33. package/components/Tree/List/index.d.ts +13 -0
  34. package/components/Tree/List/index.js +233 -0
  35. package/components/Tree/List/index.js.map +1 -0
  36. package/components/Tree/List/utils.d.ts +20 -0
  37. package/components/Tree/List/utils.js +93 -0
  38. package/components/Tree/List/utils.js.map +1 -0
  39. package/components/Tree/Loader/index.d.ts +2 -0
  40. package/components/Tree/Loader/index.js +25 -0
  41. package/components/Tree/Loader/index.js.map +1 -0
  42. package/components/Tree/Loader/styled.d.ts +5 -0
  43. package/components/Tree/Loader/styled.js +21 -0
  44. package/components/Tree/Loader/styled.js.map +1 -0
  45. package/components/Tree/MenuActions/index.d.ts +9 -0
  46. package/components/Tree/MenuActions/index.js +51 -0
  47. package/components/Tree/MenuActions/index.js.map +1 -0
  48. package/components/Tree/MenuActions/styled.d.ts +4 -0
  49. package/components/Tree/MenuActions/styled.js +16 -0
  50. package/components/Tree/MenuActions/styled.js.map +1 -0
  51. package/components/Tree/Node/index.d.ts +19 -0
  52. package/components/Tree/Node/index.js +79 -0
  53. package/components/Tree/Node/index.js.map +1 -0
  54. package/components/Tree/Node/styled.d.ts +38 -0
  55. package/components/Tree/Node/styled.js +47 -0
  56. package/components/Tree/Node/styled.js.map +1 -0
  57. package/components/Tree/NodePreview/index.d.ts +8 -0
  58. package/components/Tree/NodePreview/index.js +24 -0
  59. package/components/Tree/NodePreview/index.js.map +1 -0
  60. package/components/Tree/NodePreview/styled.d.ts +4 -0
  61. package/components/Tree/NodePreview/styled.js +16 -0
  62. package/components/Tree/NodePreview/styled.js.map +1 -0
  63. package/components/Tree/Placeholder/index.d.ts +9 -0
  64. package/components/Tree/Placeholder/index.js +26 -0
  65. package/components/Tree/Placeholder/index.js.map +1 -0
  66. package/components/Tree/Placeholder/styled.d.ts +4 -0
  67. package/components/Tree/Placeholder/styled.js +16 -0
  68. package/components/Tree/Placeholder/styled.js.map +1 -0
  69. package/components/Tree/Title/index.d.ts +9 -0
  70. package/components/Tree/Title/index.js +31 -0
  71. package/components/Tree/Title/index.js.map +1 -0
  72. package/components/Tree/Title/styled.d.ts +10 -0
  73. package/components/Tree/Title/styled.js +27 -0
  74. package/components/Tree/Title/styled.js.map +1 -0
  75. package/components/Tree/index.d.ts +13 -0
  76. package/components/Tree/index.js +99 -0
  77. package/components/Tree/index.js.map +1 -0
  78. package/components/Tree/styled.d.ts +4 -0
  79. package/components/Tree/styled.js +16 -0
  80. package/components/Tree/styled.js.map +1 -0
  81. package/components/index.d.ts +2 -0
  82. package/components/index.js +31 -0
  83. package/components/index.js.map +1 -0
  84. package/contexts/folders.d.ts +17 -0
  85. package/contexts/folders.js +354 -0
  86. package/contexts/folders.js.map +1 -0
  87. package/contexts/index.d.ts +2 -0
  88. package/contexts/index.js +24 -0
  89. package/contexts/index.js.map +1 -0
  90. package/contexts/links.d.ts +18 -0
  91. package/contexts/links.js +371 -0
  92. package/contexts/links.js.map +1 -0
  93. package/graphql/folders.gql.d.ts +5 -0
  94. package/graphql/folders.gql.js +31 -0
  95. package/graphql/folders.gql.js.map +1 -0
  96. package/graphql/links.gql.d.ts +5 -0
  97. package/graphql/links.gql.js +34 -0
  98. package/graphql/links.gql.js.map +1 -0
  99. package/handlers.d.ts +18 -0
  100. package/handlers.js +70 -0
  101. package/handlers.js.map +1 -0
  102. package/hooks/index.d.ts +2 -0
  103. package/hooks/index.js +31 -0
  104. package/hooks/index.js.map +1 -0
  105. package/hooks/useFolders.d.ts +14 -0
  106. package/hooks/useFolders.js +64 -0
  107. package/hooks/useFolders.js.map +1 -0
  108. package/hooks/useLinks.d.ts +20 -0
  109. package/hooks/useLinks.js +65 -0
  110. package/hooks/useLinks.js.map +1 -0
  111. package/index.d.ts +3 -0
  112. package/index.js +53 -0
  113. package/index.js.map +1 -0
  114. package/package.json +57 -0
  115. package/types.d.ts +152 -0
  116. package/types.js +5 -0
  117. package/types.js.map +1 -0
@@ -0,0 +1,371 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.LinksProvider = exports.LinksContext = void 0;
11
+
12
+ var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
13
+
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
+
16
+ var _objectSpread5 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
17
+
18
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
19
+
20
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
21
+
22
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
23
+
24
+ var _react = _interopRequireWildcard(require("react"));
25
+
26
+ var _reactHooks = require("@apollo/react-hooks");
27
+
28
+ var _handlers = require("../handlers");
29
+
30
+ var _links = require("../graphql/links.gql");
31
+
32
+ var LinksContext = /*#__PURE__*/_react.default.createContext(undefined);
33
+
34
+ exports.LinksContext = LinksContext;
35
+ var defaultLoading = {
36
+ INIT: true,
37
+ LIST: false,
38
+ LIST_MORE: false,
39
+ GET: false,
40
+ CREATE: false,
41
+ UPDATE: false,
42
+ DELETE: false
43
+ };
44
+
45
+ var LinksProvider = function LinksProvider(_ref) {
46
+ var children = _ref.children;
47
+ var client = (0, _reactHooks.useApolloClient)();
48
+
49
+ var _useState = (0, _react.useState)([]),
50
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
51
+ links = _useState2[0],
52
+ setLinks = _useState2[1];
53
+
54
+ var _useState3 = (0, _react.useState)(defaultLoading),
55
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
56
+ loading = _useState4[0],
57
+ setLoading = _useState4[1];
58
+
59
+ var _useState5 = (0, _react.useState)(Object.create(null)),
60
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
61
+ meta = _useState6[0],
62
+ setMeta = _useState6[1];
63
+
64
+ var context = {
65
+ links: links,
66
+ loading: loading,
67
+ meta: meta,
68
+ listLinks: function listLinks(folderId) {
69
+ var _arguments = arguments;
70
+ return (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
71
+ var limit, after, action, _yield$apolloFetching, response, _response$folders$lis, data, responseMeta, error;
72
+
73
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
74
+ while (1) {
75
+ switch (_context.prev = _context.next) {
76
+ case 0:
77
+ limit = _arguments.length > 1 && _arguments[1] !== undefined ? _arguments[1] : 10;
78
+ after = _arguments.length > 2 ? _arguments[2] : undefined;
79
+
80
+ if (folderId) {
81
+ _context.next = 4;
82
+ break;
83
+ }
84
+
85
+ throw new Error("Link `folderId` is mandatory");
86
+
87
+ case 4:
88
+ action = after ? "LIST_MORE" : "LIST";
89
+ _context.next = 7;
90
+ return (0, _handlers.apolloFetchingHandler)((0, _handlers.loadingHandler)(action, setLoading), function () {
91
+ return client.query({
92
+ query: _links.LIST_LINKS,
93
+ variables: {
94
+ folderId: folderId,
95
+ limit: limit,
96
+ after: after
97
+ }
98
+ });
99
+ });
100
+
101
+ case 7:
102
+ _yield$apolloFetching = _context.sent;
103
+ response = _yield$apolloFetching.data;
104
+ _response$folders$lis = response.folders.listLinks, data = _response$folders$lis.data, responseMeta = _response$folders$lis.meta, error = _response$folders$lis.error;
105
+
106
+ if (!(!data || !responseMeta)) {
107
+ _context.next = 12;
108
+ break;
109
+ }
110
+
111
+ throw new Error((error === null || error === void 0 ? void 0 : error.message) || "Could not fetch links");
112
+
113
+ case 12:
114
+ setLinks(function (links) {
115
+ return (0, _toConsumableArray2.default)(new Set([].concat((0, _toConsumableArray2.default)(links), (0, _toConsumableArray2.default)(data))));
116
+ });
117
+ setMeta(function (meta) {
118
+ return (0, _objectSpread5.default)((0, _objectSpread5.default)({}, meta), {}, (0, _defineProperty2.default)({}, folderId, responseMeta));
119
+ });
120
+ setLoading(function (prev) {
121
+ return (0, _objectSpread5.default)((0, _objectSpread5.default)({}, prev), {}, {
122
+ INIT: false
123
+ });
124
+ });
125
+ return _context.abrupt("return", data);
126
+
127
+ case 16:
128
+ case "end":
129
+ return _context.stop();
130
+ }
131
+ }
132
+ }, _callee);
133
+ }))();
134
+ },
135
+ getLink: function getLink(id) {
136
+ return (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee2() {
137
+ var _yield$apolloFetching2, response, _response$folders$get, data, error;
138
+
139
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee2$(_context2) {
140
+ while (1) {
141
+ switch (_context2.prev = _context2.next) {
142
+ case 0:
143
+ if (id) {
144
+ _context2.next = 2;
145
+ break;
146
+ }
147
+
148
+ throw new Error("Link `id` is mandatory");
149
+
150
+ case 2:
151
+ _context2.next = 4;
152
+ return (0, _handlers.apolloFetchingHandler)((0, _handlers.loadingHandler)("GET", setLoading), function () {
153
+ return client.query({
154
+ query: _links.GET_LINK,
155
+ variables: {
156
+ id: id
157
+ }
158
+ });
159
+ });
160
+
161
+ case 4:
162
+ _yield$apolloFetching2 = _context2.sent;
163
+ response = _yield$apolloFetching2.data;
164
+ _response$folders$get = response.folders.getLink, data = _response$folders$get.data, error = _response$folders$get.error;
165
+
166
+ if (data) {
167
+ _context2.next = 9;
168
+ break;
169
+ }
170
+
171
+ throw new Error((error === null || error === void 0 ? void 0 : error.message) || "Could not fetch link with id: ".concat(id));
172
+
173
+ case 9:
174
+ return _context2.abrupt("return", data);
175
+
176
+ case 10:
177
+ case "end":
178
+ return _context2.stop();
179
+ }
180
+ }
181
+ }, _callee2);
182
+ }))();
183
+ },
184
+ createLink: function createLink(link) {
185
+ return (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee3() {
186
+ var folderId, _yield$apolloFetching3, response, _response$folders$cre, data, error;
187
+
188
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee3$(_context3) {
189
+ while (1) {
190
+ switch (_context3.prev = _context3.next) {
191
+ case 0:
192
+ folderId = link.folderId;
193
+ _context3.next = 3;
194
+ return (0, _handlers.apolloFetchingHandler)((0, _handlers.loadingHandler)("CREATE", setLoading), function () {
195
+ return client.mutate({
196
+ mutation: _links.CREATE_LINK,
197
+ variables: {
198
+ data: link
199
+ }
200
+ });
201
+ });
202
+
203
+ case 3:
204
+ _yield$apolloFetching3 = _context3.sent;
205
+ response = _yield$apolloFetching3.data;
206
+
207
+ if (response) {
208
+ _context3.next = 7;
209
+ break;
210
+ }
211
+
212
+ throw new Error("Network error while creating link");
213
+
214
+ case 7:
215
+ _response$folders$cre = response.folders.createLink, data = _response$folders$cre.data, error = _response$folders$cre.error;
216
+
217
+ if (data) {
218
+ _context3.next = 10;
219
+ break;
220
+ }
221
+
222
+ throw new Error((error === null || error === void 0 ? void 0 : error.message) || "Could not create link");
223
+
224
+ case 10:
225
+ setLinks(function (links) {
226
+ return [].concat((0, _toConsumableArray2.default)(links), [data]);
227
+ });
228
+ setMeta(function (meta) {
229
+ return (0, _objectSpread5.default)((0, _objectSpread5.default)({}, meta), {}, (0, _defineProperty2.default)({}, folderId, (0, _objectSpread5.default)((0, _objectSpread5.default)({}, meta[folderId]), {}, {
230
+ totalCount: ++meta[folderId].totalCount
231
+ })));
232
+ });
233
+ return _context3.abrupt("return", data);
234
+
235
+ case 13:
236
+ case "end":
237
+ return _context3.stop();
238
+ }
239
+ }
240
+ }, _callee3);
241
+ }))();
242
+ },
243
+ updateLink: function updateLink(link, contextFolderId) {
244
+ return (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee4() {
245
+ var id, folderId, _yield$apolloFetching4, response, _response$folders$upd, data, error;
246
+
247
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee4$(_context4) {
248
+ while (1) {
249
+ switch (_context4.prev = _context4.next) {
250
+ case 0:
251
+ id = link.id, folderId = link.folderId;
252
+ _context4.next = 3;
253
+ return (0, _handlers.apolloFetchingHandler)((0, _handlers.loadingHandler)("UPDATE", setLoading), function () {
254
+ return client.mutate({
255
+ mutation: _links.UPDATE_LINK,
256
+ variables: {
257
+ id: id,
258
+ data: {
259
+ folderId: folderId
260
+ }
261
+ }
262
+ });
263
+ });
264
+
265
+ case 3:
266
+ _yield$apolloFetching4 = _context4.sent;
267
+ response = _yield$apolloFetching4.data;
268
+
269
+ if (response) {
270
+ _context4.next = 7;
271
+ break;
272
+ }
273
+
274
+ throw new Error("Network error while updating link");
275
+
276
+ case 7:
277
+ _response$folders$upd = response.folders.updateLink, data = _response$folders$upd.data, error = _response$folders$upd.error;
278
+
279
+ if (data) {
280
+ _context4.next = 10;
281
+ break;
282
+ }
283
+
284
+ throw new Error((error === null || error === void 0 ? void 0 : error.message) || "Could not update link");
285
+
286
+ case 10:
287
+ setLinks(function (links) {
288
+ return links.map(function (link) {
289
+ return link.id === id ? data : link;
290
+ }).filter(function (link) {
291
+ return link.folderId === contextFolderId;
292
+ });
293
+ });
294
+ return _context4.abrupt("return", data);
295
+
296
+ case 12:
297
+ case "end":
298
+ return _context4.stop();
299
+ }
300
+ }
301
+ }, _callee4);
302
+ }))();
303
+ },
304
+ deleteLink: function deleteLink(link) {
305
+ return (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee5() {
306
+ var id, folderId, _yield$apolloFetching5, response, _response$folders$del, data, error;
307
+
308
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee5$(_context5) {
309
+ while (1) {
310
+ switch (_context5.prev = _context5.next) {
311
+ case 0:
312
+ id = link.id, folderId = link.folderId;
313
+ _context5.next = 3;
314
+ return (0, _handlers.apolloFetchingHandler)((0, _handlers.loadingHandler)("DELETE", setLoading), function () {
315
+ return client.mutate({
316
+ mutation: _links.DELETE_LINK,
317
+ variables: {
318
+ id: id
319
+ }
320
+ });
321
+ });
322
+
323
+ case 3:
324
+ _yield$apolloFetching5 = _context5.sent;
325
+ response = _yield$apolloFetching5.data;
326
+
327
+ if (response) {
328
+ _context5.next = 7;
329
+ break;
330
+ }
331
+
332
+ throw new Error("Network error while deleting link");
333
+
334
+ case 7:
335
+ _response$folders$del = response.folders.deleteLink, data = _response$folders$del.data, error = _response$folders$del.error;
336
+
337
+ if (data) {
338
+ _context5.next = 10;
339
+ break;
340
+ }
341
+
342
+ throw new Error((error === null || error === void 0 ? void 0 : error.message) || "Could not delete link");
343
+
344
+ case 10:
345
+ setLinks(function (links) {
346
+ return links.filter(function (link) {
347
+ return link.id !== id;
348
+ });
349
+ });
350
+ setMeta(function (meta) {
351
+ return (0, _objectSpread5.default)((0, _objectSpread5.default)({}, meta), {}, (0, _defineProperty2.default)({}, folderId, (0, _objectSpread5.default)((0, _objectSpread5.default)({}, meta[folderId]), {}, {
352
+ totalCount: --meta[folderId].totalCount
353
+ })));
354
+ });
355
+ return _context5.abrupt("return", true);
356
+
357
+ case 13:
358
+ case "end":
359
+ return _context5.stop();
360
+ }
361
+ }
362
+ }, _callee5);
363
+ }))();
364
+ }
365
+ };
366
+ return /*#__PURE__*/_react.default.createElement(LinksContext.Provider, {
367
+ value: context
368
+ }, children);
369
+ };
370
+
371
+ exports.LinksProvider = LinksProvider;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["LinksContext","React","createContext","undefined","defaultLoading","INIT","LIST","LIST_MORE","GET","CREATE","UPDATE","DELETE","LinksProvider","children","client","useApolloClient","useState","links","setLinks","loading","setLoading","Object","create","meta","setMeta","context","listLinks","folderId","limit","after","Error","action","apolloFetchingHandler","loadingHandler","query","LIST_LINKS","variables","response","data","folders","responseMeta","error","message","Set","prev","getLink","id","GET_LINK","createLink","link","mutate","mutation","CREATE_LINK","totalCount","updateLink","contextFolderId","UPDATE_LINK","map","filter","deleteLink","DELETE_LINK"],"sources":["links.tsx"],"sourcesContent":["import React, { ReactNode, useState } from \"react\";\nimport { useApolloClient } from \"@apollo/react-hooks\";\n\nimport { apolloFetchingHandler, loadingHandler } from \"~/handlers\";\n\nimport { CREATE_LINK, DELETE_LINK, GET_LINK, LIST_LINKS, UPDATE_LINK } from \"~/graphql/links.gql\";\n\nimport {\n CreateLinkResponse,\n CreateLinkVariables,\n DeleteLinkResponse,\n DeleteLinkVariables,\n GetLinkQueryVariables,\n GetLinkResponse,\n LinkItem,\n ListLinksQueryVariables,\n ListLinksResponse,\n ListMeta,\n Loading,\n LoadingActions,\n Meta,\n UpdateLinkResponse,\n UpdateLinkVariables\n} from \"~/types\";\n\ninterface LinksContext {\n links: LinkItem[];\n loading: Loading<LoadingActions>;\n meta: Meta<ListMeta>;\n listLinks: (type: string, limit?: number, after?: string) => Promise<LinkItem[]>;\n getLink: (id: string, folderId: string) => Promise<LinkItem>;\n createLink: (link: Omit<LinkItem, \"linkId\">) => Promise<LinkItem>;\n updateLink: (link: LinkItem, contextFolderId: string) => Promise<LinkItem>;\n deleteLink(link: LinkItem): Promise<true>;\n}\n\nexport const LinksContext = React.createContext<LinksContext | undefined>(undefined);\n\ninterface Props {\n children: ReactNode;\n}\n\nconst defaultLoading: Record<LoadingActions, boolean> = {\n INIT: true,\n LIST: false,\n LIST_MORE: false,\n GET: false,\n CREATE: false,\n UPDATE: false,\n DELETE: false\n};\n\nexport const LinksProvider = ({ children }: Props) => {\n const client = useApolloClient();\n const [links, setLinks] = useState<LinkItem[]>([]);\n const [loading, setLoading] = useState<Loading<LoadingActions>>(defaultLoading);\n const [meta, setMeta] = useState<Meta<ListMeta>>(Object.create(null));\n\n const context: LinksContext = {\n links,\n loading,\n meta,\n async listLinks(folderId: string, limit = 10, after?: string) {\n if (!folderId) {\n throw new Error(\"Link `folderId` is mandatory\");\n }\n\n const action = after ? \"LIST_MORE\" : \"LIST\";\n\n const { data: response } = await apolloFetchingHandler(\n loadingHandler(action, setLoading),\n () =>\n client.query<ListLinksResponse, ListLinksQueryVariables>({\n query: LIST_LINKS,\n variables: { folderId, limit, after }\n })\n );\n\n const { data, meta: responseMeta, error } = response.folders.listLinks;\n\n if (!data || !responseMeta) {\n throw new Error(error?.message || \"Could not fetch links\");\n }\n\n setLinks(links => [...new Set([...links, ...data])]);\n\n setMeta(meta => ({\n ...meta,\n [folderId]: responseMeta\n }));\n\n setLoading(prev => {\n return {\n ...prev,\n INIT: false\n };\n });\n\n return data;\n },\n\n async getLink(id) {\n if (!id) {\n throw new Error(\"Link `id` is mandatory\");\n }\n\n const { data: response } = await apolloFetchingHandler(\n loadingHandler(\"GET\", setLoading),\n () =>\n client.query<GetLinkResponse, GetLinkQueryVariables>({\n query: GET_LINK,\n variables: { id }\n })\n );\n\n const { data, error } = response.folders.getLink;\n\n if (!data) {\n throw new Error(error?.message || `Could not fetch link with id: ${id}`);\n }\n\n return data;\n },\n\n async createLink(link) {\n const { folderId } = link;\n\n const { data: response } = await apolloFetchingHandler(\n loadingHandler(\"CREATE\", setLoading),\n () =>\n client.mutate<CreateLinkResponse, CreateLinkVariables>({\n mutation: CREATE_LINK,\n variables: { data: link }\n })\n );\n\n if (!response) {\n throw new Error(\"Network error while creating link\");\n }\n\n const { data, error } = response.folders.createLink;\n\n if (!data) {\n throw new Error(error?.message || \"Could not create link\");\n }\n\n setLinks(links => [...links, data]);\n\n setMeta(meta => ({\n ...meta,\n [folderId]: {\n ...meta[folderId],\n totalCount: ++meta[folderId].totalCount\n }\n }));\n\n return data;\n },\n\n async updateLink(link, contextFolderId) {\n const { id, folderId } = link;\n\n const { data: response } = await apolloFetchingHandler(\n loadingHandler(\"UPDATE\", setLoading),\n () =>\n client.mutate<UpdateLinkResponse, UpdateLinkVariables>({\n mutation: UPDATE_LINK,\n variables: { id, data: { folderId } }\n })\n );\n\n if (!response) {\n throw new Error(\"Network error while updating link\");\n }\n\n const { data, error } = response.folders.updateLink;\n\n if (!data) {\n throw new Error(error?.message || \"Could not update link\");\n }\n\n setLinks(links =>\n links\n .map(link => (link.id === id ? data : link))\n .filter(link => link.folderId === contextFolderId)\n );\n\n return data;\n },\n\n async deleteLink(link) {\n const { id, folderId } = link;\n\n const { data: response } = await apolloFetchingHandler(\n loadingHandler(\"DELETE\", setLoading),\n () =>\n client.mutate<DeleteLinkResponse, DeleteLinkVariables>({\n mutation: DELETE_LINK,\n variables: { id }\n })\n );\n\n if (!response) {\n throw new Error(\"Network error while deleting link\");\n }\n\n const { data, error } = response.folders.deleteLink;\n\n if (!data) {\n throw new Error(error?.message || \"Could not delete link\");\n }\n\n setLinks(links => links.filter(link => link.id !== id));\n\n setMeta(meta => ({\n ...meta,\n [folderId]: {\n ...meta[folderId],\n totalCount: --meta[folderId].totalCount\n }\n }));\n\n return true;\n }\n };\n\n return <LinksContext.Provider value={context}>{children}</LinksContext.Provider>;\n};\n"],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare const CREATE_FOLDER: import("graphql").DocumentNode;
2
+ export declare const LIST_FOLDERS: import("graphql").DocumentNode;
3
+ export declare const GET_FOLDER: import("graphql").DocumentNode;
4
+ export declare const UPDATE_FOLDER: import("graphql").DocumentNode;
5
+ export declare const DELETE_FOLDER: import("graphql").DocumentNode;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.UPDATE_FOLDER = exports.LIST_FOLDERS = exports.GET_FOLDER = exports.DELETE_FOLDER = exports.CREATE_FOLDER = void 0;
9
+
10
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
+
12
+ var _graphqlTag = _interopRequireDefault(require("graphql-tag"));
13
+
14
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
15
+
16
+ var ERROR_FIELD =
17
+ /* GraphQL */
18
+ "\n {\n code\n data\n message\n }\n";
19
+ var DATA_FIELD =
20
+ /* GraphQL */
21
+ "\n {\n id\n name\n slug\n parentId\n type\n createdOn\n createdBy {\n id\n displayName\n }\n }\n";
22
+ var CREATE_FOLDER = (0, _graphqlTag.default)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n mutation CreateFolder($data: FolderCreateInput!) {\n folders {\n createFolder(data: $data) {\n data ", "\n error ", "\n }\n }\n }\n"])), DATA_FIELD, ERROR_FIELD);
23
+ exports.CREATE_FOLDER = CREATE_FOLDER;
24
+ var LIST_FOLDERS = (0, _graphqlTag.default)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n query ListFolders ($type: String!) {\n folders {\n listFolders(where: { type: $type }) {\n data ", "\n error ", "\n }\n }\n }\n"])), DATA_FIELD, ERROR_FIELD);
25
+ exports.LIST_FOLDERS = LIST_FOLDERS;
26
+ var GET_FOLDER = (0, _graphqlTag.default)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n query GetFolder ($id: ID!) {\n folders {\n getFolder(id: $id) {\n data ", "\n error ", "\n }\n }\n }\n"])), DATA_FIELD, ERROR_FIELD);
27
+ exports.GET_FOLDER = GET_FOLDER;
28
+ var UPDATE_FOLDER = (0, _graphqlTag.default)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n mutation UpdateFolder($id: ID!, $data: FolderUpdateInput!) {\n folders {\n updateFolder(id: $id, data: $data) {\n data ", "\n error ", "\n }\n }\n }\n"])), DATA_FIELD, ERROR_FIELD);
29
+ exports.UPDATE_FOLDER = UPDATE_FOLDER;
30
+ var DELETE_FOLDER = (0, _graphqlTag.default)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n mutation DeleteFolder($id: ID!) {\n folders {\n deleteFolder(id: $id) {\n data\n error ", "\n }\n }\n }\n"])), ERROR_FIELD);
31
+ exports.DELETE_FOLDER = DELETE_FOLDER;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ERROR_FIELD","DATA_FIELD","CREATE_FOLDER","gql","LIST_FOLDERS","GET_FOLDER","UPDATE_FOLDER","DELETE_FOLDER"],"sources":["folders.gql.ts"],"sourcesContent":["import gql from \"graphql-tag\";\n\nconst ERROR_FIELD = /* GraphQL */ `\n {\n code\n data\n message\n }\n`;\n\nconst DATA_FIELD = /* GraphQL */ `\n {\n id\n name\n slug\n parentId\n type\n createdOn\n createdBy {\n id\n displayName\n }\n }\n`;\n\nexport const CREATE_FOLDER = gql`\n mutation CreateFolder($data: FolderCreateInput!) {\n folders {\n createFolder(data: $data) {\n data ${DATA_FIELD}\n error ${ERROR_FIELD}\n }\n }\n }\n`;\n\nexport const LIST_FOLDERS = gql`\n query ListFolders ($type: String!) {\n folders {\n listFolders(where: { type: $type }) {\n data ${DATA_FIELD}\n error ${ERROR_FIELD}\n }\n }\n }\n`;\n\nexport const GET_FOLDER = gql`\n query GetFolder ($id: ID!) {\n folders {\n getFolder(id: $id) {\n data ${DATA_FIELD}\n error ${ERROR_FIELD}\n }\n }\n }\n`;\n\nexport const UPDATE_FOLDER = gql`\n mutation UpdateFolder($id: ID!, $data: FolderUpdateInput!) {\n folders {\n updateFolder(id: $id, data: $data) {\n data ${DATA_FIELD}\n error ${ERROR_FIELD}\n }\n }\n }\n`;\n\nexport const DELETE_FOLDER = gql`\n mutation DeleteFolder($id: ID!) {\n folders {\n deleteFolder(id: $id) {\n data\n error ${ERROR_FIELD}\n }\n }\n }\n`;\n"],"mappings":";;;;;;;;;;;AAAA;;;;AAEA,IAAMA,WAAW;AAAG;AAAH,+DAAjB;AAQA,IAAMC,UAAU;AAAG;AAAH,sLAAhB;AAeO,IAAMC,aAAa,OAAGC,mBAAH,mSAIHF,UAJG,EAKFD,WALE,CAAnB;;AAWA,IAAMI,YAAY,OAAGD,mBAAH,iSAIFF,UAJE,EAKDD,WALC,CAAlB;;AAWA,IAAMK,UAAU,OAAGF,mBAAH,wQAIAF,UAJA,EAKCD,WALD,CAAhB;;AAWA,IAAMM,aAAa,OAAGH,mBAAH,wTAIHF,UAJG,EAKFD,WALE,CAAnB;;AAWA,IAAMO,aAAa,OAAGJ,mBAAH,2QAKFH,WALE,CAAnB"}
@@ -0,0 +1,5 @@
1
+ export declare const CREATE_LINK: import("graphql").DocumentNode;
2
+ export declare const LIST_LINKS: import("graphql").DocumentNode;
3
+ export declare const GET_LINK: import("graphql").DocumentNode;
4
+ export declare const UPDATE_LINK: import("graphql").DocumentNode;
5
+ export declare const DELETE_LINK: import("graphql").DocumentNode;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.UPDATE_LINK = exports.LIST_LINKS = exports.GET_LINK = exports.DELETE_LINK = exports.CREATE_LINK = void 0;
9
+
10
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
+
12
+ var _graphqlTag = _interopRequireDefault(require("graphql-tag"));
13
+
14
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
15
+
16
+ var ERROR_FIELD =
17
+ /* GraphQL */
18
+ "\n {\n code\n data\n message\n }\n";
19
+ var DATA_FIELD =
20
+ /* GraphQL */
21
+ "\n {\n id\n linkId\n folderId\n }\n";
22
+ var LIST_META_FIELD =
23
+ /* GraphQL */
24
+ "\n {\n cursor\n totalCount\n hasMoreItems\n }\n";
25
+ var CREATE_LINK = (0, _graphqlTag.default)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n mutation CreateLink($data: LinkCreateInput!) {\n folders {\n createLink(data: $data) {\n data ", "\n error ", "\n }\n }\n }\n"])), DATA_FIELD, ERROR_FIELD);
26
+ exports.CREATE_LINK = CREATE_LINK;
27
+ var LIST_LINKS = (0, _graphqlTag.default)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n query ListLinks ($folderId: ID!, $limit: Int, $after: String) {\n folders {\n listLinks(where: { folderId: $folderId }, limit: $limit, after: $after) {\n data ", "\n meta ", "\n error ", "\n }\n }\n }\n"])), DATA_FIELD, LIST_META_FIELD, ERROR_FIELD);
28
+ exports.LIST_LINKS = LIST_LINKS;
29
+ var GET_LINK = (0, _graphqlTag.default)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n query GetLink ($id: ID!) {\n folders {\n getLink(id: $id) {\n data ", "\n error ", "\n }\n }\n }\n"])), DATA_FIELD, ERROR_FIELD);
30
+ exports.GET_LINK = GET_LINK;
31
+ var UPDATE_LINK = (0, _graphqlTag.default)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n mutation UpdateLink($id: ID!, $data: LinkUpdateInput!) {\n folders {\n updateLink(id: $id, data: $data) {\n data ", "\n error ", "\n }\n }\n }\n"])), DATA_FIELD, ERROR_FIELD);
32
+ exports.UPDATE_LINK = UPDATE_LINK;
33
+ var DELETE_LINK = (0, _graphqlTag.default)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n mutation DeleteLink($id: ID!) {\n folders {\n deleteLink(id: $id) {\n data\n error ", "\n }\n }\n }\n"])), ERROR_FIELD);
34
+ exports.DELETE_LINK = DELETE_LINK;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ERROR_FIELD","DATA_FIELD","LIST_META_FIELD","CREATE_LINK","gql","LIST_LINKS","GET_LINK","UPDATE_LINK","DELETE_LINK"],"sources":["links.gql.ts"],"sourcesContent":["import gql from \"graphql-tag\";\n\nconst ERROR_FIELD = /* GraphQL */ `\n {\n code\n data\n message\n }\n`;\n\nconst DATA_FIELD = /* GraphQL */ `\n {\n id\n linkId\n folderId\n }\n`;\n\nconst LIST_META_FIELD = /* GraphQL */ `\n {\n cursor\n totalCount\n hasMoreItems\n }\n`;\n\nexport const CREATE_LINK = gql`\n mutation CreateLink($data: LinkCreateInput!) {\n folders {\n createLink(data: $data) {\n data ${DATA_FIELD}\n error ${ERROR_FIELD}\n }\n }\n }\n`;\n\nexport const LIST_LINKS = gql`\n query ListLinks ($folderId: ID!, $limit: Int, $after: String) {\n folders {\n listLinks(where: { folderId: $folderId }, limit: $limit, after: $after) {\n data ${DATA_FIELD}\n meta ${LIST_META_FIELD}\n error ${ERROR_FIELD}\n }\n }\n }\n`;\n\nexport const GET_LINK = gql`\n query GetLink ($id: ID!) {\n folders {\n getLink(id: $id) {\n data ${DATA_FIELD}\n error ${ERROR_FIELD}\n }\n }\n }\n`;\n\nexport const UPDATE_LINK = gql`\n mutation UpdateLink($id: ID!, $data: LinkUpdateInput!) {\n folders {\n updateLink(id: $id, data: $data) {\n data ${DATA_FIELD}\n error ${ERROR_FIELD}\n }\n }\n }\n`;\n\nexport const DELETE_LINK = gql`\n mutation DeleteLink($id: ID!) {\n folders {\n deleteLink(id: $id) {\n data\n error ${ERROR_FIELD}\n }\n }\n }\n`;\n"],"mappings":";;;;;;;;;;;AAAA;;;;AAEA,IAAMA,WAAW;AAAG;AAAH,+DAAjB;AAQA,IAAMC,UAAU;AAAG;AAAH,gEAAhB;AAQA,IAAMC,eAAe;AAAG;AAAH,4EAArB;AAQO,IAAMC,WAAW,OAAGC,mBAAH,6RAIDH,UAJC,EAKAD,WALA,CAAjB;;AAWA,IAAMK,UAAU,OAAGD,mBAAH,2XAIAH,UAJA,EAKAC,eALA,EAMCF,WAND,CAAhB;;AAYA,IAAMM,QAAQ,OAAGF,mBAAH,oQAIEH,UAJF,EAKGD,WALH,CAAd;;AAWA,IAAMO,WAAW,OAAGH,mBAAH,kTAIDH,UAJC,EAKAD,WALA,CAAjB;;AAWA,IAAMQ,WAAW,OAAGJ,mBAAH,uQAKAJ,WALA,CAAjB"}
package/handlers.d.ts ADDED
@@ -0,0 +1,18 @@
1
+ import { Dispatch, SetStateAction } from "react";
2
+ import { ApolloQueryResult } from "apollo-client/core/types";
3
+ import { FetchResult } from "apollo-link";
4
+ import { Loading, LoadingActions } from "./types";
5
+ /**
6
+ * A simple wrapper for Apollo fetching operations that handles the `loading` state as side effect.
7
+ *
8
+ * @param loadingHandler: function that handle the loading state.
9
+ * @param apolloQuery: Apollo Query or Mutation
10
+ */
11
+ export declare const apolloFetchingHandler: (loadingHandler: (flag: boolean) => void, apolloQuery: () => Promise<ApolloQueryResult<any> | FetchResult<any>>) => Promise<ApolloQueryResult<any> | FetchResult<any, Record<string, any>, Record<string, any>>>;
12
+ /**
13
+ * A simple function to handle `loading` state.
14
+ *
15
+ * @param action: the `action` that has been performed.
16
+ * @param setState: the logic to update the loading state.
17
+ */
18
+ export declare const loadingHandler: (action: LoadingActions, setState: Dispatch<SetStateAction<Loading<LoadingActions>>>) => (flag: boolean) => void;
package/handlers.js ADDED
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.loadingHandler = exports.apolloFetchingHandler = void 0;
9
+
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
12
+ var _objectSpread3 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
13
+
14
+ var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
15
+
16
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
17
+
18
+ /**
19
+ * A simple wrapper for Apollo fetching operations that handles the `loading` state as side effect.
20
+ *
21
+ * @param loadingHandler: function that handle the loading state.
22
+ * @param apolloQuery: Apollo Query or Mutation
23
+ */
24
+ var apolloFetchingHandler = /*#__PURE__*/function () {
25
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(loadingHandler, apolloQuery) {
26
+ var response;
27
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
28
+ while (1) {
29
+ switch (_context.prev = _context.next) {
30
+ case 0:
31
+ loadingHandler(true);
32
+ _context.next = 3;
33
+ return apolloQuery();
34
+
35
+ case 3:
36
+ response = _context.sent;
37
+ loadingHandler(false);
38
+ return _context.abrupt("return", response);
39
+
40
+ case 6:
41
+ case "end":
42
+ return _context.stop();
43
+ }
44
+ }
45
+ }, _callee);
46
+ }));
47
+
48
+ return function apolloFetchingHandler(_x, _x2) {
49
+ return _ref.apply(this, arguments);
50
+ };
51
+ }();
52
+ /**
53
+ * A simple function to handle `loading` state.
54
+ *
55
+ * @param action: the `action` that has been performed.
56
+ * @param setState: the logic to update the loading state.
57
+ */
58
+
59
+
60
+ exports.apolloFetchingHandler = apolloFetchingHandler;
61
+
62
+ var loadingHandler = function loadingHandler(action, setState) {
63
+ return function (flag) {
64
+ setState(function (state) {
65
+ return (0, _objectSpread3.default)((0, _objectSpread3.default)({}, state), {}, (0, _defineProperty2.default)({}, action, flag));
66
+ });
67
+ };
68
+ };
69
+
70
+ exports.loadingHandler = loadingHandler;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["apolloFetchingHandler","loadingHandler","apolloQuery","response","action","setState","flag","state"],"sources":["handlers.tsx"],"sourcesContent":["import { Dispatch, SetStateAction } from \"react\";\nimport { ApolloQueryResult } from \"apollo-client/core/types\";\nimport { FetchResult } from \"apollo-link\";\nimport { Loading, LoadingActions } from \"~/types\";\n\n/**\n * A simple wrapper for Apollo fetching operations that handles the `loading` state as side effect.\n *\n * @param loadingHandler: function that handle the loading state.\n * @param apolloQuery: Apollo Query or Mutation\n */\nexport const apolloFetchingHandler = async (\n loadingHandler: (flag: boolean) => void,\n apolloQuery: () => Promise<ApolloQueryResult<any> | FetchResult<any>>\n) => {\n loadingHandler(true);\n\n const response = await apolloQuery();\n loadingHandler(false);\n\n return response;\n};\n\n/**\n * A simple function to handle `loading` state.\n *\n * @param action: the `action` that has been performed.\n * @param setState: the logic to update the loading state.\n */\nexport const loadingHandler = (\n action: LoadingActions,\n setState: Dispatch<SetStateAction<Loading<LoadingActions>>>\n) => {\n return (flag: boolean) => {\n setState(state => {\n return {\n ...state,\n [action]: flag\n };\n });\n };\n};\n"],"mappings":";;;;;;;;;;;;;;;;;AAKA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,qBAAqB;EAAA,kGAAG,iBACjCC,cADiC,EAEjCC,WAFiC;IAAA;IAAA;MAAA;QAAA;UAAA;YAIjCD,cAAc,CAAC,IAAD,CAAd;YAJiC;YAAA,OAMVC,WAAW,EAND;;UAAA;YAM3BC,QAN2B;YAOjCF,cAAc,CAAC,KAAD,CAAd;YAPiC,iCAS1BE,QAT0B;;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,CAAH;;EAAA,gBAArBH,qBAAqB;IAAA;EAAA;AAAA,GAA3B;AAYP;AACA;AACA;AACA;AACA;AACA;;;;;AACO,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAC1BG,MAD0B,EAE1BC,QAF0B,EAGzB;EACD,OAAO,UAACC,IAAD,EAAmB;IACtBD,QAAQ,CAAC,UAAAE,KAAK,EAAI;MACd,mEACOA,KADP,yCAEKH,MAFL,EAEcE,IAFd;IAIH,CALO,CAAR;EAMH,CAPD;AAQH,CAZM"}
@@ -0,0 +1,2 @@
1
+ export * from "./useFolders";
2
+ export * from "./useLinks";
package/hooks/index.js ADDED
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var _useFolders = require("./useFolders");
8
+
9
+ Object.keys(_useFolders).forEach(function (key) {
10
+ if (key === "default" || key === "__esModule") return;
11
+ if (key in exports && exports[key] === _useFolders[key]) return;
12
+ Object.defineProperty(exports, key, {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _useFolders[key];
16
+ }
17
+ });
18
+ });
19
+
20
+ var _useLinks = require("./useLinks");
21
+
22
+ Object.keys(_useLinks).forEach(function (key) {
23
+ if (key === "default" || key === "__esModule") return;
24
+ if (key in exports && exports[key] === _useLinks[key]) return;
25
+ Object.defineProperty(exports, key, {
26
+ enumerable: true,
27
+ get: function get() {
28
+ return _useLinks[key];
29
+ }
30
+ });
31
+ });
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./useFolders\";\nexport * from \"./useLinks\";\n"],"mappings":";;;;;;AAAA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
@@ -0,0 +1,14 @@
1
+ import { FolderItem } from "../types";
2
+ export declare const useFolders: (type: string) => {
3
+ /**
4
+ * NOTE: do NOT expose listFolders from this hook, because you already have folders in the `folders` property.
5
+ * You'll never need to call `listFolders` from any component. As soon as you call `useFolders()`, you'll initiate
6
+ * fetching of `folders`, which is managed by the FoldersContext.
7
+ */
8
+ loading: import("../types").Loading<import("~/types").LoadingActions>;
9
+ folders: FolderItem[];
10
+ getFolder(id: string): Promise<FolderItem>;
11
+ createFolder(folder: Omit<FolderItem, "id">): Promise<FolderItem>;
12
+ updateFolder(folder: FolderItem): Promise<FolderItem>;
13
+ deleteFolder(folder: FolderItem): Promise<true>;
14
+ };