@selfcommunity/react-core 0.1.18-alpha.1 → 0.1.19-alpha.1

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 (68) hide show
  1. package/lib/cjs/components/provider/SCRoutingProvider/index.d.ts.map +1 -1
  2. package/lib/cjs/constants/Cache.d.ts +28 -0
  3. package/lib/cjs/constants/Cache.d.ts.map +1 -0
  4. package/lib/cjs/constants/Cache.js +41 -0
  5. package/lib/cjs/constants/Cache.js.map +1 -0
  6. package/lib/cjs/hooks/useSCFetchCategory.d.ts +3 -1
  7. package/lib/cjs/hooks/useSCFetchCategory.d.ts.map +1 -1
  8. package/lib/cjs/hooks/useSCFetchCategory.js +19 -6
  9. package/lib/cjs/hooks/useSCFetchCategory.js.map +1 -1
  10. package/lib/cjs/hooks/useSCFetchCommentObject.d.ts +4 -1
  11. package/lib/cjs/hooks/useSCFetchCommentObject.d.ts.map +1 -1
  12. package/lib/cjs/hooks/useSCFetchCommentObject.js +20 -6
  13. package/lib/cjs/hooks/useSCFetchCommentObject.js.map +1 -1
  14. package/lib/cjs/hooks/useSCFetchCommentObjects.d.ts +2 -0
  15. package/lib/cjs/hooks/useSCFetchCommentObjects.d.ts.map +1 -1
  16. package/lib/cjs/hooks/useSCFetchCommentObjects.js +48 -4
  17. package/lib/cjs/hooks/useSCFetchCommentObjects.js.map +1 -1
  18. package/lib/cjs/hooks/useSCFetchContributors.d.ts +51 -0
  19. package/lib/cjs/hooks/useSCFetchContributors.d.ts.map +1 -0
  20. package/lib/cjs/hooks/useSCFetchContributors.js +237 -0
  21. package/lib/cjs/hooks/useSCFetchContributors.js.map +1 -0
  22. package/lib/cjs/hooks/useSCFetchFeed.d.ts +50 -0
  23. package/lib/cjs/hooks/useSCFetchFeed.d.ts.map +1 -0
  24. package/lib/cjs/hooks/useSCFetchFeed.js +245 -0
  25. package/lib/cjs/hooks/useSCFetchFeed.js.map +1 -0
  26. package/lib/cjs/hooks/useSCFetchFeedObject.d.ts +4 -1
  27. package/lib/cjs/hooks/useSCFetchFeedObject.d.ts.map +1 -1
  28. package/lib/cjs/hooks/useSCFetchFeedObject.js +21 -9
  29. package/lib/cjs/hooks/useSCFetchFeedObject.js.map +1 -1
  30. package/lib/cjs/index.d.ts +4 -1
  31. package/lib/cjs/index.d.ts.map +1 -1
  32. package/lib/cjs/index.js +7 -1
  33. package/lib/cjs/index.js.map +1 -1
  34. package/lib/esm/components/provider/SCRoutingProvider/index.d.ts.map +1 -1
  35. package/lib/esm/constants/Cache.d.ts +28 -0
  36. package/lib/esm/constants/Cache.d.ts.map +1 -0
  37. package/lib/esm/constants/Cache.js +28 -0
  38. package/lib/esm/constants/Cache.js.map +1 -0
  39. package/lib/esm/hooks/useSCFetchCategory.d.ts +3 -1
  40. package/lib/esm/hooks/useSCFetchCategory.d.ts.map +1 -1
  41. package/lib/esm/hooks/useSCFetchCategory.js +20 -7
  42. package/lib/esm/hooks/useSCFetchCategory.js.map +1 -1
  43. package/lib/esm/hooks/useSCFetchCommentObject.d.ts +4 -1
  44. package/lib/esm/hooks/useSCFetchCommentObject.d.ts.map +1 -1
  45. package/lib/esm/hooks/useSCFetchCommentObject.js +21 -7
  46. package/lib/esm/hooks/useSCFetchCommentObject.js.map +1 -1
  47. package/lib/esm/hooks/useSCFetchCommentObjects.d.ts +2 -0
  48. package/lib/esm/hooks/useSCFetchCommentObjects.d.ts.map +1 -1
  49. package/lib/esm/hooks/useSCFetchCommentObjects.js +50 -6
  50. package/lib/esm/hooks/useSCFetchCommentObjects.js.map +1 -1
  51. package/lib/esm/hooks/useSCFetchContributors.d.ts +51 -0
  52. package/lib/esm/hooks/useSCFetchContributors.d.ts.map +1 -0
  53. package/lib/esm/hooks/useSCFetchContributors.js +230 -0
  54. package/lib/esm/hooks/useSCFetchContributors.js.map +1 -0
  55. package/lib/esm/hooks/useSCFetchFeed.d.ts +50 -0
  56. package/lib/esm/hooks/useSCFetchFeed.d.ts.map +1 -0
  57. package/lib/esm/hooks/useSCFetchFeed.js +241 -0
  58. package/lib/esm/hooks/useSCFetchFeed.js.map +1 -0
  59. package/lib/esm/hooks/useSCFetchFeedObject.d.ts +4 -1
  60. package/lib/esm/hooks/useSCFetchFeedObject.d.ts.map +1 -1
  61. package/lib/esm/hooks/useSCFetchFeedObject.js +22 -10
  62. package/lib/esm/hooks/useSCFetchFeedObject.js.map +1 -1
  63. package/lib/esm/index.d.ts +4 -1
  64. package/lib/esm/index.d.ts.map +1 -1
  65. package/lib/esm/index.js +4 -1
  66. package/lib/esm/index.js.map +1 -1
  67. package/lib/umd/react-core.js +1 -1
  68. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/provider/SCRoutingProvider/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAChE,OAAO,EAA0C,oBAAoB,EAAoB,MAAM,gBAAgB,CAAC;AAoBhH;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,gBAAgB,qCAAkE,CAAC;AAEhG;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EAAC,QAAe,EAAC,EAAE;IAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAC,GAAG,GAAG,CAAC,OAAO,CAmFrG;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,oBAAoB,CAEnD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/provider/SCRoutingProvider/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAChE,OAAO,EAA0C,oBAAoB,EAAC,MAAM,gBAAgB,CAAC;AAoB7F;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,gBAAgB,qCAAkE,CAAC;AAEhG;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EAAC,QAAe,EAAC,EAAE;IAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAC,GAAG,GAAG,CAAC,OAAO,CAmFrG;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,oBAAoB,CAEnD"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Cache prefixes
3
+ */
4
+ /** FEED OBJECT **/
5
+ export declare const FEED_OBJECT_CACHE_PREFIX_KEY = "_fo_";
6
+ export declare const getFeedObjectCacheKey: (id: any, type: any) => string;
7
+ /** COMMMENT OBJECT **/
8
+ export declare const COMMENT_OBJECT_CACHE_PREFIX_KEY = "_co_";
9
+ export declare const getCommentObjectCacheKey: (id: any) => string;
10
+ /** COMMMENT OBJECTS **/
11
+ export declare const COMMENT_OBJECTS_CACHE_PREFIX_KEY = "_cos_";
12
+ export declare const getCommentObjectsCacheKey: (id: any, type: any, next: any) => string;
13
+ export declare const getCommentObjectsCachePrefixKeys: (id: any, type: any) => string;
14
+ /** CATEGORY OBJECT **/
15
+ export declare const CATEGORY_OBJECT_CACHE_PREFIX_KEY = "_ca_";
16
+ export declare const getCategoryObjectCacheKey: (id: any) => string;
17
+ /** CONTRIBUTORS **/
18
+ export declare const CONTRIBUTORS_CACHE_PREFIX_KEY = "_contr_";
19
+ export declare const getContributorsCacheKey: (id: any, type: any, next: any) => string;
20
+ export declare const getContributorsCachePrefixKeys: (id: any, type: any) => string;
21
+ /** FEED **/
22
+ export declare const FEED_CACHE_PREFIX_KEY = "_feed_";
23
+ export declare const getFeedCacheKey: (id: any, next: any) => string;
24
+ export declare const FEED_STATE_CACHE_PREFIX_KEY = "_feed_st_";
25
+ export declare const getStateFeedCacheKey: (id: any) => string;
26
+ export declare const FEED_CACHE_SP_KEY = "_feed_sp_";
27
+ export declare const getFeedSPCacheKey: (id: any) => string;
28
+ //# sourceMappingURL=Cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cache.d.ts","sourceRoot":"","sources":["../../../src/constants/Cache.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,mBAAmB;AACnB,eAAO,MAAM,4BAA4B,SAAS,CAAC;AACnD,eAAO,MAAM,qBAAqB,gCAA+D,CAAC;AAElG,uBAAuB;AACvB,eAAO,MAAM,+BAA+B,SAAS,CAAC;AACtD,eAAO,MAAM,wBAAwB,qBAAoD,CAAC;AAE1F,wBAAwB;AACxB,eAAO,MAAM,gCAAgC,UAAU,CAAC;AACxD,eAAO,MAAM,yBAAyB,2CAAiF,CAAC;AACxH,eAAO,MAAM,gCAAgC,gCAAmE,CAAC;AAEjH,uBAAuB;AACvB,eAAO,MAAM,gCAAgC,SAAS,CAAC;AACvD,eAAO,MAAM,yBAAyB,qBAAqD,CAAC;AAE5F,oBAAoB;AACpB,eAAO,MAAM,6BAA6B,YAAY,CAAC;AACvD,eAAO,MAAM,uBAAuB,2CAA8E,CAAC;AACnH,eAAO,MAAM,8BAA8B,gCAAgE,CAAC;AAE5G,YAAY;AACZ,eAAO,MAAM,qBAAqB,WAAW,CAAC;AAC9C,eAAO,MAAM,eAAe,gCAAwD,CAAC;AAErF,eAAO,MAAM,2BAA2B,cAAc,CAAC;AACvD,eAAO,MAAM,oBAAoB,qBAAgD,CAAC;AAElF,eAAO,MAAM,iBAAiB,cAAc,CAAC;AAC7C,eAAO,MAAM,iBAAiB,qBAAsC,CAAC"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ /**
3
+ * Cache prefixes
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getFeedSPCacheKey = exports.FEED_CACHE_SP_KEY = exports.getStateFeedCacheKey = exports.FEED_STATE_CACHE_PREFIX_KEY = exports.getFeedCacheKey = exports.FEED_CACHE_PREFIX_KEY = exports.getContributorsCachePrefixKeys = exports.getContributorsCacheKey = exports.CONTRIBUTORS_CACHE_PREFIX_KEY = exports.getCategoryObjectCacheKey = exports.CATEGORY_OBJECT_CACHE_PREFIX_KEY = exports.getCommentObjectsCachePrefixKeys = exports.getCommentObjectsCacheKey = exports.COMMENT_OBJECTS_CACHE_PREFIX_KEY = exports.getCommentObjectCacheKey = exports.COMMENT_OBJECT_CACHE_PREFIX_KEY = exports.getFeedObjectCacheKey = exports.FEED_OBJECT_CACHE_PREFIX_KEY = void 0;
7
+ /** FEED OBJECT **/
8
+ exports.FEED_OBJECT_CACHE_PREFIX_KEY = '_fo_';
9
+ const getFeedObjectCacheKey = (id, type) => `${exports.FEED_OBJECT_CACHE_PREFIX_KEY}${type}_${id}`;
10
+ exports.getFeedObjectCacheKey = getFeedObjectCacheKey;
11
+ /** COMMMENT OBJECT **/
12
+ exports.COMMENT_OBJECT_CACHE_PREFIX_KEY = '_co_';
13
+ const getCommentObjectCacheKey = (id) => `${exports.COMMENT_OBJECT_CACHE_PREFIX_KEY}${id}`;
14
+ exports.getCommentObjectCacheKey = getCommentObjectCacheKey;
15
+ /** COMMMENT OBJECTS **/
16
+ exports.COMMENT_OBJECTS_CACHE_PREFIX_KEY = '_cos_';
17
+ const getCommentObjectsCacheKey = (id, type, next) => `${exports.COMMENT_OBJECTS_CACHE_PREFIX_KEY}${type}_${id}_${next}`;
18
+ exports.getCommentObjectsCacheKey = getCommentObjectsCacheKey;
19
+ const getCommentObjectsCachePrefixKeys = (id, type) => `${exports.COMMENT_OBJECTS_CACHE_PREFIX_KEY}${type}_${id}`;
20
+ exports.getCommentObjectsCachePrefixKeys = getCommentObjectsCachePrefixKeys;
21
+ /** CATEGORY OBJECT **/
22
+ exports.CATEGORY_OBJECT_CACHE_PREFIX_KEY = '_ca_';
23
+ const getCategoryObjectCacheKey = (id) => `${exports.CATEGORY_OBJECT_CACHE_PREFIX_KEY}${id}`;
24
+ exports.getCategoryObjectCacheKey = getCategoryObjectCacheKey;
25
+ /** CONTRIBUTORS **/
26
+ exports.CONTRIBUTORS_CACHE_PREFIX_KEY = '_contr_';
27
+ const getContributorsCacheKey = (id, type, next) => `${exports.CONTRIBUTORS_CACHE_PREFIX_KEY}${type}_${id}_${next}`;
28
+ exports.getContributorsCacheKey = getContributorsCacheKey;
29
+ const getContributorsCachePrefixKeys = (id, type) => `${exports.CONTRIBUTORS_CACHE_PREFIX_KEY}${type}_${id}`;
30
+ exports.getContributorsCachePrefixKeys = getContributorsCachePrefixKeys;
31
+ /** FEED **/
32
+ exports.FEED_CACHE_PREFIX_KEY = '_feed_';
33
+ const getFeedCacheKey = (id, next) => `${exports.FEED_CACHE_PREFIX_KEY}${id}_${next}`;
34
+ exports.getFeedCacheKey = getFeedCacheKey;
35
+ exports.FEED_STATE_CACHE_PREFIX_KEY = '_feed_st_';
36
+ const getStateFeedCacheKey = (id) => `${exports.FEED_STATE_CACHE_PREFIX_KEY}${id}`;
37
+ exports.getStateFeedCacheKey = getStateFeedCacheKey;
38
+ exports.FEED_CACHE_SP_KEY = '_feed_sp_';
39
+ const getFeedSPCacheKey = (id) => `${exports.FEED_CACHE_SP_KEY}${id}`;
40
+ exports.getFeedSPCacheKey = getFeedSPCacheKey;
41
+ //# sourceMappingURL=Cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cache.js","sourceRoot":"","sources":["../../../src/constants/Cache.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,mBAAmB;AACN,QAAA,4BAA4B,GAAG,MAAM,CAAC;AAC5C,MAAM,qBAAqB,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,oCAA4B,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC;AAArF,QAAA,qBAAqB,yBAAgE;AAElG,uBAAuB;AACV,QAAA,+BAA+B,GAAG,MAAM,CAAC;AAC/C,MAAM,wBAAwB,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,uCAA+B,GAAG,EAAE,EAAE,CAAC;AAA7E,QAAA,wBAAwB,4BAAqD;AAE1F,wBAAwB;AACX,QAAA,gCAAgC,GAAG,OAAO,CAAC;AACjD,MAAM,yBAAyB,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,wCAAgC,GAAG,IAAI,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;AAA3G,QAAA,yBAAyB,6BAAkF;AACjH,MAAM,gCAAgC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,wCAAgC,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC;AAApG,QAAA,gCAAgC,oCAAoE;AAEjH,uBAAuB;AACV,QAAA,gCAAgC,GAAG,MAAM,CAAC;AAChD,MAAM,yBAAyB,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,wCAAgC,GAAG,EAAE,EAAE,CAAC;AAA/E,QAAA,yBAAyB,6BAAsD;AAE5F,oBAAoB;AACP,QAAA,6BAA6B,GAAG,SAAS,CAAC;AAChD,MAAM,uBAAuB,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,qCAA6B,GAAG,IAAI,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;AAAtG,QAAA,uBAAuB,2BAA+E;AAC5G,MAAM,8BAA8B,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,qCAA6B,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC;AAA/F,QAAA,8BAA8B,kCAAiE;AAE5G,YAAY;AACC,QAAA,qBAAqB,GAAG,QAAQ,CAAC;AACvC,MAAM,eAAe,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,6BAAqB,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC;AAAxE,QAAA,eAAe,mBAAyD;AAExE,QAAA,2BAA2B,GAAG,WAAW,CAAC;AAChD,MAAM,oBAAoB,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,mCAA2B,GAAG,EAAE,EAAE,CAAC;AAArE,QAAA,oBAAoB,wBAAiD;AAErE,QAAA,iBAAiB,GAAG,WAAW,CAAC;AACtC,MAAM,iBAAiB,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,yBAAiB,GAAG,EAAE,EAAE,CAAC;AAAxD,QAAA,iBAAiB,qBAAuC"}
@@ -1,5 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { SCCategoryType } from '@selfcommunity/types';
3
+ import { CacheStrategies } from '@selfcommunity/utils';
3
4
  /**
4
5
  :::info
5
6
  This custom hook is used to fetch a category object.
@@ -8,9 +9,10 @@ import { SCCategoryType } from '@selfcommunity/types';
8
9
  * @param object.id
9
10
  * @param object.category
10
11
  */
11
- export default function useSCFetchCategory({ id, category }: {
12
+ export default function useSCFetchCategory({ id, category, cacheStrategy }: {
12
13
  id?: number;
13
14
  category?: SCCategoryType;
15
+ cacheStrategy?: CacheStrategies;
14
16
  }): {
15
17
  scCategory: SCCategoryType;
16
18
  setSCCategory: import("react").Dispatch<import("react").SetStateAction<SCCategoryType>>;
@@ -1 +1 @@
1
- {"version":3,"file":"useSCFetchCategory.d.ts","sourceRoot":"","sources":["../../../src/hooks/useSCFetchCategory.ts"],"names":[],"mappings":";AAEA,OAAO,EAAC,cAAc,EAAY,MAAM,sBAAsB,CAAC;AAI/D;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EAAC,EAAS,EAAE,QAAe,EAAC,EAAE;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,cAAc,CAAA;CAAC;;;;EA0ChH"}
1
+ {"version":3,"file":"useSCFetchCategory.d.ts","sourceRoot":"","sources":["../../../src/hooks/useSCFetchCategory.ts"],"names":[],"mappings":";AAEA,OAAO,EAAC,cAAc,EAAY,MAAM,sBAAsB,CAAC;AAE/D,OAAO,EAAC,eAAe,EAAmB,MAAM,sBAAsB,CAAC;AAIvE;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EACzC,EAAS,EACT,QAAe,EACf,aAA2C,EAC5C,EAAE;IACD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,aAAa,CAAC,EAAE,eAAe,CAAA;CAChC;;;;EAyDA"}
@@ -4,6 +4,8 @@ const react_1 = require("react");
4
4
  const Errors_1 = require("../constants/Errors");
5
5
  const api_services_1 = require("@selfcommunity/api-services");
6
6
  const utils_1 = require("@selfcommunity/utils");
7
+ const Cache_1 = require("../constants/Cache");
8
+ const use_deep_compare_effect_1 = require("use-deep-compare-effect");
7
9
  /**
8
10
  :::info
9
11
  This custom hook is used to fetch a category object.
@@ -12,8 +14,11 @@ const utils_1 = require("@selfcommunity/utils");
12
14
  * @param object.id
13
15
  * @param object.category
14
16
  */
15
- function useSCFetchCategory({ id = null, category = null }) {
16
- const [scCategory, setSCCategory] = (0, react_1.useState)(category);
17
+ function useSCFetchCategory({ id = null, category = null, cacheStrategy = utils_1.CacheStrategies.CACHE_FIRST }) {
18
+ const __categoryId = category ? category.id : id;
19
+ // CACHE
20
+ const __categoryCacheKey = (0, Cache_1.getCategoryObjectCacheKey)(__categoryId);
21
+ const [scCategory, setSCCategory] = (0, react_1.useState)(cacheStrategy !== utils_1.CacheStrategies.NETWORK_ONLY ? utils_1.LRUCache.get(__categoryCacheKey, category) : null);
17
22
  const [error, setError] = (0, react_1.useState)(null);
18
23
  /**
19
24
  * Memoized fetchTag
@@ -21,7 +26,7 @@ function useSCFetchCategory({ id = null, category = null }) {
21
26
  const fetchCategory = (0, react_1.useMemo)(() => () => {
22
27
  return api_services_1.http
23
28
  .request({
24
- url: api_services_1.Endpoints.Category.url({ id: id }),
29
+ url: api_services_1.Endpoints.Category.url({ id: __categoryId }),
25
30
  method: api_services_1.Endpoints.Category.method,
26
31
  })
27
32
  .then((res) => {
@@ -30,23 +35,31 @@ function useSCFetchCategory({ id = null, category = null }) {
30
35
  }
31
36
  return Promise.resolve(res.data);
32
37
  });
33
- }, [id]);
38
+ }, [__categoryId]);
34
39
  /**
35
40
  * If id attempt to get the category by id
36
41
  */
37
42
  (0, react_1.useEffect)(() => {
38
- if (id) {
43
+ if (__categoryId && (!scCategory || cacheStrategy === utils_1.CacheStrategies.STALE_WHILE_REVALIDATE)) {
39
44
  fetchCategory()
40
45
  .then((obj) => {
41
46
  setSCCategory(obj);
47
+ utils_1.LRUCache.set(__categoryCacheKey, obj);
42
48
  })
43
49
  .catch((err) => {
50
+ utils_1.LRUCache.delete(__categoryCacheKey);
44
51
  setError(`Category with id ${id} not found`);
45
52
  utils_1.Logger.error(Errors_1.SCOPE_SC_CORE, `Category with id ${id} not found`);
46
53
  utils_1.Logger.error(Errors_1.SCOPE_SC_CORE, err.message);
47
54
  });
48
55
  }
49
- }, [id]);
56
+ }, [__categoryId]);
57
+ (0, use_deep_compare_effect_1.useDeepCompareEffectNoCheck)(() => {
58
+ if (category) {
59
+ setSCCategory(category);
60
+ utils_1.LRUCache.set(__categoryCacheKey, category);
61
+ }
62
+ }, [category]);
50
63
  return { scCategory, setSCCategory, error };
51
64
  }
52
65
  exports.default = useSCFetchCategory;
@@ -1 +1 @@
1
- {"version":3,"file":"useSCFetchCategory.js","sourceRoot":"","sources":["../../../src/hooks/useSCFetchCategory.ts"],"names":[],"mappings":";;AAAA,iCAAmD;AACnD,gDAAkD;AAElD,8DAA0E;AAC1E,gDAA4C;AAE5C;;;;;;;GAOG;AACH,SAAwB,kBAAkB,CAAC,EAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,GAAG,IAAI,EAA2C;IAC/G,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,IAAA,gBAAQ,EAAiB,QAAQ,CAAC,CAAC;IACvE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAS,IAAI,CAAC,CAAC;IAEjD;;OAEG;IACH,MAAM,aAAa,GAAG,IAAA,eAAO,EAC3B,GAAG,EAAE,CAAC,GAAG,EAAE;QACT,OAAO,mBAAI;aACR,OAAO,CAAC;YACP,GAAG,EAAE,wBAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAC,EAAE,EAAE,EAAE,EAAC,CAAC;YACrC,MAAM,EAAE,wBAAS,CAAC,QAAQ,CAAC,MAAM;SAClC,CAAC;aACD,IAAI,CAAC,CAAC,GAA4B,EAAE,EAAE;YACrC,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;aAC5B;YACD,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACP,CAAC,EACD,CAAC,EAAE,CAAC,CACL,CAAC;IAEF;;OAEG;IACH,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,EAAE,EAAE;YACN,aAAa,EAAE;iBACZ,IAAI,CAAC,CAAC,GAAmB,EAAE,EAAE;gBAC5B,aAAa,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACb,QAAQ,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAC;gBAC7C,cAAM,CAAC,KAAK,CAAC,sBAAa,EAAE,oBAAoB,EAAE,YAAY,CAAC,CAAC;gBAChE,cAAM,CAAC,KAAK,CAAC,sBAAa,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;SACN;IACH,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAET,OAAO,EAAC,UAAU,EAAE,aAAa,EAAE,KAAK,EAAC,CAAC;AAC5C,CAAC;AA1CD,qCA0CC"}
1
+ {"version":3,"file":"useSCFetchCategory.js","sourceRoot":"","sources":["../../../src/hooks/useSCFetchCategory.ts"],"names":[],"mappings":";;AAAA,iCAAmD;AACnD,gDAAkD;AAElD,8DAA0E;AAC1E,gDAAuE;AACvE,8CAA6D;AAC7D,qEAAoE;AAEpE;;;;;;;GAOG;AACH,SAAwB,kBAAkB,CAAC,EACzC,EAAE,GAAG,IAAI,EACT,QAAQ,GAAG,IAAI,EACf,aAAa,GAAG,uBAAe,CAAC,WAAW,EAK5C;IACC,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAEjD,QAAQ;IACR,MAAM,kBAAkB,GAAG,IAAA,iCAAyB,EAAC,YAAY,CAAC,CAAC;IAEnE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,IAAA,gBAAQ,EAC1C,aAAa,KAAK,uBAAe,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAQ,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACtG,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAS,IAAI,CAAC,CAAC;IAEjD;;OAEG;IACH,MAAM,aAAa,GAAG,IAAA,eAAO,EAC3B,GAAG,EAAE,CAAC,GAAG,EAAE;QACT,OAAO,mBAAI;aACR,OAAO,CAAC;YACP,GAAG,EAAE,wBAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAC,EAAE,EAAE,YAAY,EAAC,CAAC;YAC/C,MAAM,EAAE,wBAAS,CAAC,QAAQ,CAAC,MAAM;SAClC,CAAC;aACD,IAAI,CAAC,CAAC,GAA4B,EAAE,EAAE;YACrC,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;aAC5B;YACD,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACP,CAAC,EACD,CAAC,YAAY,CAAC,CACf,CAAC;IAEF;;OAEG;IACH,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,YAAY,IAAI,CAAC,CAAC,UAAU,IAAI,aAAa,KAAK,uBAAe,CAAC,sBAAsB,CAAC,EAAE;YAC7F,aAAa,EAAE;iBACZ,IAAI,CAAC,CAAC,GAAmB,EAAE,EAAE;gBAC5B,aAAa,CAAC,GAAG,CAAC,CAAC;gBACnB,gBAAQ,CAAC,GAAG,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;YACxC,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACb,gBAAQ,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;gBACpC,QAAQ,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAC;gBAC7C,cAAM,CAAC,KAAK,CAAC,sBAAa,EAAE,oBAAoB,EAAE,YAAY,CAAC,CAAC;gBAChE,cAAM,CAAC,KAAK,CAAC,sBAAa,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;SACN;IACH,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,IAAA,qDAA2B,EAAC,GAAG,EAAE;QAC/B,IAAI,QAAQ,EAAE;YACZ,aAAa,CAAC,QAAQ,CAAC,CAAC;YACxB,gBAAQ,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;SAC5C;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,OAAO,EAAC,UAAU,EAAE,aAAa,EAAE,KAAK,EAAC,CAAC;AAC5C,CAAC;AAjED,qCAiEC"}
@@ -1,5 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { SCCommentType } from '@selfcommunity/types';
3
+ import { CacheStrategies } from '@selfcommunity/utils';
3
4
  /**
4
5
  :::info
5
6
  This custom hooks is used to fetch a comment.
@@ -7,10 +8,12 @@ import { SCCommentType } from '@selfcommunity/types';
7
8
  * @param object
8
9
  * @param object.id
9
10
  * @param object.commentObject
11
+ * @param cacheStrategy
10
12
  */
11
- export default function useSCFetchCommentObject({ id, commentObject }: {
13
+ export default function useSCFetchCommentObject({ id, commentObject, cacheStrategy, }: {
12
14
  id?: number;
13
15
  commentObject?: SCCommentType;
16
+ cacheStrategy?: CacheStrategies;
14
17
  }): {
15
18
  obj: SCCommentType;
16
19
  setObj: import("react").Dispatch<import("react").SetStateAction<SCCommentType>>;
@@ -1 +1 @@
1
- {"version":3,"file":"useSCFetchCommentObject.d.ts","sourceRoot":"","sources":["../../../src/hooks/useSCFetchCommentObject.ts"],"names":[],"mappings":";AAEA,OAAO,EAAC,aAAa,EAAC,MAAM,sBAAsB,CAAC;AAInD;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,EAAC,EAAS,EAAE,aAAoB,EAAC,EAAE;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,aAAa,CAAA;CAAC;;;;EA0C9H"}
1
+ {"version":3,"file":"useSCFetchCommentObject.d.ts","sourceRoot":"","sources":["../../../src/hooks/useSCFetchCommentObject.ts"],"names":[],"mappings":";AAEA,OAAO,EAAC,aAAa,EAAC,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAAC,eAAe,EAAmB,MAAM,sBAAsB,CAAC;AAIvE;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,EAC9C,EAAS,EACT,aAAoB,EACpB,aAA2C,GAC5C,EAAE;IACD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,aAAa,CAAC,EAAE,eAAe,CAAC;CACjC;;;;EA0DA"}
@@ -4,6 +4,8 @@ const react_1 = require("react");
4
4
  const Errors_1 = require("../constants/Errors");
5
5
  const api_services_1 = require("@selfcommunity/api-services");
6
6
  const utils_1 = require("@selfcommunity/utils");
7
+ const Cache_1 = require("../constants/Cache");
8
+ const use_deep_compare_effect_1 = require("use-deep-compare-effect");
7
9
  /**
8
10
  :::info
9
11
  This custom hooks is used to fetch a comment.
@@ -11,9 +13,13 @@ const utils_1 = require("@selfcommunity/utils");
11
13
  * @param object
12
14
  * @param object.id
13
15
  * @param object.commentObject
16
+ * @param cacheStrategy
14
17
  */
15
- function useSCFetchCommentObject({ id = null, commentObject = null }) {
16
- const [obj, setObj] = (0, react_1.useState)(commentObject);
18
+ function useSCFetchCommentObject({ id = null, commentObject = null, cacheStrategy = utils_1.CacheStrategies.CACHE_FIRST, }) {
19
+ const __commentObjectId = commentObject ? commentObject.id : id;
20
+ // CACHE
21
+ const __commentObjectCacheKey = (0, Cache_1.getCommentObjectCacheKey)(__commentObjectId);
22
+ const [obj, setObj] = (0, react_1.useState)(cacheStrategy !== utils_1.CacheStrategies.NETWORK_ONLY ? utils_1.LRUCache.get(__commentObjectCacheKey, commentObject) : null);
17
23
  const [error, setError] = (0, react_1.useState)(null);
18
24
  /**
19
25
  * Memoized fetchCommentObject
@@ -21,7 +27,7 @@ function useSCFetchCommentObject({ id = null, commentObject = null }) {
21
27
  const fetchCommentObject = (0, react_1.useMemo)(() => () => {
22
28
  return api_services_1.http
23
29
  .request({
24
- url: api_services_1.Endpoints.Comment.url({ id: id }),
30
+ url: api_services_1.Endpoints.Comment.url({ id: __commentObjectId }),
25
31
  method: api_services_1.Endpoints.Comment.method,
26
32
  })
27
33
  .then((res) => {
@@ -30,23 +36,31 @@ function useSCFetchCommentObject({ id = null, commentObject = null }) {
30
36
  }
31
37
  return Promise.resolve(res.data);
32
38
  });
33
- }, [id]);
39
+ }, [__commentObjectId]);
34
40
  /**
35
41
  * If id and feedObjectType resolve feddObject
36
42
  */
37
43
  (0, react_1.useEffect)(() => {
38
- if (id) {
44
+ if (__commentObjectId && (!obj || cacheStrategy === utils_1.CacheStrategies.STALE_WHILE_REVALIDATE)) {
39
45
  fetchCommentObject()
40
46
  .then((obj) => {
41
47
  setObj(obj);
48
+ utils_1.LRUCache.set(__commentObjectCacheKey, obj);
42
49
  })
43
50
  .catch((err) => {
51
+ utils_1.LRUCache.delete(__commentObjectCacheKey);
44
52
  setError(`CommentObject with id ${id} not found`);
45
53
  utils_1.Logger.error(Errors_1.SCOPE_SC_CORE, `CommentObject with id ${id} not found`);
46
54
  utils_1.Logger.error(Errors_1.SCOPE_SC_CORE, err.message);
47
55
  });
48
56
  }
49
- }, [id]);
57
+ }, [__commentObjectId]);
58
+ (0, use_deep_compare_effect_1.useDeepCompareEffectNoCheck)(() => {
59
+ if (commentObject) {
60
+ setObj(commentObject);
61
+ utils_1.LRUCache.set(__commentObjectCacheKey, obj);
62
+ }
63
+ }, [commentObject]);
50
64
  return { obj, setObj, error };
51
65
  }
52
66
  exports.default = useSCFetchCommentObject;
@@ -1 +1 @@
1
- {"version":3,"file":"useSCFetchCommentObject.js","sourceRoot":"","sources":["../../../src/hooks/useSCFetchCommentObject.ts"],"names":[],"mappings":";;AAAA,iCAAmD;AACnD,gDAAkD;AAElD,8DAA0E;AAC1E,gDAA4C;AAE5C;;;;;;;GAOG;AACH,SAAwB,uBAAuB,CAAC,EAAC,EAAE,GAAG,IAAI,EAAE,aAAa,GAAG,IAAI,EAA+C;IAC7H,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,IAAA,gBAAQ,EAAgB,aAAa,CAAC,CAAC;IAC7D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAS,IAAI,CAAC,CAAC;IAEjD;;OAEG;IACH,MAAM,kBAAkB,GAAG,IAAA,eAAO,EAChC,GAAG,EAAE,CAAC,GAAG,EAAE;QACT,OAAO,mBAAI;aACR,OAAO,CAAC;YACP,GAAG,EAAE,wBAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAC,EAAE,EAAE,EAAE,EAAC,CAAC;YACpC,MAAM,EAAE,wBAAS,CAAC,OAAO,CAAC,MAAM;SACjC,CAAC;aACD,IAAI,CAAC,CAAC,GAAsB,EAAE,EAAE;YAC/B,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;aAC5B;YACD,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACP,CAAC,EACD,CAAC,EAAE,CAAC,CACL,CAAC;IAEF;;OAEG;IACH,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,EAAE,EAAE;YACN,kBAAkB,EAAE;iBACjB,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;gBACZ,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACb,QAAQ,CAAC,yBAAyB,EAAE,YAAY,CAAC,CAAC;gBAClD,cAAM,CAAC,KAAK,CAAC,sBAAa,EAAE,yBAAyB,EAAE,YAAY,CAAC,CAAC;gBACrE,cAAM,CAAC,KAAK,CAAC,sBAAa,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;SACN;IACH,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAET,OAAO,EAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAC,CAAC;AAC9B,CAAC;AA1CD,0CA0CC"}
1
+ {"version":3,"file":"useSCFetchCommentObject.js","sourceRoot":"","sources":["../../../src/hooks/useSCFetchCommentObject.ts"],"names":[],"mappings":";;AAAA,iCAAmD;AACnD,gDAAkD;AAElD,8DAA0E;AAC1E,gDAAuE;AACvE,8CAA4D;AAC5D,qEAAoE;AAEpE;;;;;;;;GAQG;AACH,SAAwB,uBAAuB,CAAC,EAC9C,EAAE,GAAG,IAAI,EACT,aAAa,GAAG,IAAI,EACpB,aAAa,GAAG,uBAAe,CAAC,WAAW,GAK5C;IACC,MAAM,iBAAiB,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAEhE,QAAQ;IACR,MAAM,uBAAuB,GAAG,IAAA,gCAAwB,EAAC,iBAAiB,CAAC,CAAC;IAE5E,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,IAAA,gBAAQ,EAC5B,aAAa,KAAK,uBAAe,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAQ,CAAC,GAAG,CAAC,uBAAuB,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAC7G,CAAC;IACF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAS,IAAI,CAAC,CAAC;IAEjD;;OAEG;IACH,MAAM,kBAAkB,GAAG,IAAA,eAAO,EAChC,GAAG,EAAE,CAAC,GAAG,EAAE;QACT,OAAO,mBAAI;aACR,OAAO,CAAC;YACP,GAAG,EAAE,wBAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAC,EAAE,EAAE,iBAAiB,EAAC,CAAC;YACnD,MAAM,EAAE,wBAAS,CAAC,OAAO,CAAC,MAAM;SACjC,CAAC;aACD,IAAI,CAAC,CAAC,GAAsB,EAAE,EAAE;YAC/B,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;aAC5B;YACD,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACP,CAAC,EACD,CAAC,iBAAiB,CAAC,CACpB,CAAC;IAEF;;OAEG;IACH,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,iBAAiB,IAAI,CAAC,CAAC,GAAG,IAAI,aAAa,KAAK,uBAAe,CAAC,sBAAsB,CAAC,EAAE;YAC3F,kBAAkB,EAAE;iBACjB,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;gBACZ,MAAM,CAAC,GAAG,CAAC,CAAC;gBACZ,gBAAQ,CAAC,GAAG,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;YAC7C,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACb,gBAAQ,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;gBACzC,QAAQ,CAAC,yBAAyB,EAAE,YAAY,CAAC,CAAC;gBAClD,cAAM,CAAC,KAAK,CAAC,sBAAa,EAAE,yBAAyB,EAAE,YAAY,CAAC,CAAC;gBACrE,cAAM,CAAC,KAAK,CAAC,sBAAa,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;SACN;IACH,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAExB,IAAA,qDAA2B,EAAC,GAAG,EAAE;QAC/B,IAAI,aAAa,EAAE;YACjB,MAAM,CAAC,aAAa,CAAC,CAAC;YACtB,gBAAQ,CAAC,GAAG,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;SAC5C;IACH,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,OAAO,EAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAC,CAAC;AAC9B,CAAC;AAlED,0CAkEC"}
@@ -1,4 +1,5 @@
1
1
  import { SCCommentsOrderBy, SCCommentType, SCFeedObjectType, SCFeedObjectTypologyType } from '@selfcommunity/types';
2
+ import { CacheStrategies } from '@selfcommunity/utils';
2
3
  /**
3
4
  * Interface SCCommentsObjectType
4
5
  */
@@ -49,5 +50,6 @@ export default function useSCFetchCommentObjects(props: {
49
50
  orderBy?: SCCommentsOrderBy;
50
51
  parent?: number;
51
52
  onChangePage?: (page: any) => any;
53
+ cacheStrategy?: CacheStrategies;
52
54
  }): any;
53
55
  //# sourceMappingURL=useSCFetchCommentObjects.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSCFetchCommentObjects.d.ts","sourceRoot":"","sources":["../../../src/hooks/useSCFetchCommentObjects.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,iBAAiB,EAAE,aAAa,EAAE,gBAAgB,EAAE,wBAAwB,EAAC,MAAM,sBAAsB,CAAC;AAKlH;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB;;;;;;;CAOrC,CAAC;AAwEF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAAC,KAAK,EAAE;IACtD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,cAAc,EAAE,wBAAwB,CAAC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,CAAC,IAAI,KAAA,KAAK,GAAG,CAAC;CAC9B,OAyIA"}
1
+ {"version":3,"file":"useSCFetchCommentObjects.d.ts","sourceRoot":"","sources":["../../../src/hooks/useSCFetchCommentObjects.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,iBAAiB,EAAE,aAAa,EAAE,gBAAgB,EAAE,wBAAwB,EAAC,MAAM,sBAAsB,CAAC;AAElH,OAAO,EAAC,eAAe,EAAmB,MAAM,sBAAsB,CAAC;AAIvE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB;;;;;;;CAOrC,CAAC;AA8EF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAAC,KAAK,EAAE;IACtD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,cAAc,EAAE,wBAAwB,CAAC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,CAAC,IAAI,KAAA,KAAK,GAAG,CAAC;IAC7B,aAAa,CAAC,EAAE,eAAe,CAAC;CACjC,OA6LA"}
@@ -10,6 +10,7 @@ const types_1 = require("@selfcommunity/types");
10
10
  const api_services_1 = require("@selfcommunity/api-services");
11
11
  const utils_1 = require("@selfcommunity/utils");
12
12
  const useSCFetchFeedObject_1 = __importDefault(require("./useSCFetchFeedObject"));
13
+ const Cache_1 = require("../constants/Cache");
13
14
  /**
14
15
  * @hidden
15
16
  * We have complex state logic that involves multiple sub-values,
@@ -55,7 +56,8 @@ function commentsReducer(state, action) {
55
56
  * @param data
56
57
  */
57
58
  function stateInitializer(data) {
58
- return {
59
+ const __commentsObjectCacheKey = data.obj ? (0, Cache_1.getCommentObjectsCacheKey)(data.obj.id, data.obj.type, data.next) : null;
60
+ let _initState = {
59
61
  componentLoaded: false,
60
62
  comments: [],
61
63
  total: 0,
@@ -66,6 +68,11 @@ function stateInitializer(data) {
66
68
  page: data.offset / data.pageSize + 1,
67
69
  reload: false,
68
70
  };
71
+ if (__commentsObjectCacheKey && utils_1.LRUCache.hasKey(__commentsObjectCacheKey) && data.cacheStrategy !== utils_1.CacheStrategies.NETWORK_ONLY) {
72
+ const _cachedData = utils_1.LRUCache.get(__commentsObjectCacheKey);
73
+ return Object.assign(Object.assign({}, _initState), { total: _cachedData.count, next: _cachedData.next, previous: _cachedData.previous, comments: _cachedData.results });
74
+ }
75
+ return _initState;
69
76
  }
70
77
  /**
71
78
  :::info
@@ -81,7 +88,7 @@ function stateInitializer(data) {
81
88
  */
82
89
  function useSCFetchCommentObjects(props) {
83
90
  // PROPS
84
- const { id, feedObject, feedObjectType, offset = 0, pageSize = 5, orderBy = types_1.SCCommentsOrderBy.ADDED_AT_DESC, parent, onChangePage } = props;
91
+ const { id, feedObject, feedObjectType, offset = 0, pageSize = 5, orderBy = types_1.SCCommentsOrderBy.ADDED_AT_DESC, parent, onChangePage, cacheStrategy = utils_1.CacheStrategies.CACHE_FIRST, } = props;
85
92
  // FeedObject
86
93
  const { obj, setObj } = (0, useSCFetchFeedObject_1.default)({ id, feedObject, feedObjectType });
87
94
  const objId = obj ? obj.id : null;
@@ -96,7 +103,7 @@ function useSCFetchCommentObjects(props) {
96
103
  return `${api_services_1.Endpoints.Comments.url()}?${_typeObject}=${_objectId}&limit=${pageSize}&ordering=${orderBy}${_offset}${_parent}`;
97
104
  };
98
105
  // STATE
99
- const [state, dispatch] = (0, react_1.useReducer)(commentsReducer, {}, () => stateInitializer({ offset, pageSize, next: getNextUrl() }));
106
+ const [state, dispatch] = (0, react_1.useReducer)(commentsReducer, {}, () => stateInitializer({ obj, offset, pageSize, next: getNextUrl(), cacheStrategy }));
100
107
  /**
101
108
  * Calculate current page
102
109
  */
@@ -106,10 +113,35 @@ function useSCFetchCommentObjects(props) {
106
113
  const currentOffset = params.offset ? parseInt(params.offset) : 0;
107
114
  return currentOffset / pageSize + 1;
108
115
  };
116
+ /**
117
+ * Get Comments (with cache)
118
+ */
119
+ const revalidate = (url, forward) => {
120
+ return performFetchComments(url, false).then((res) => {
121
+ let _comments;
122
+ let currentPage = getCurrentPage(state.next);
123
+ if (forward) {
124
+ let start = state.comments.slice(0, state.comments.length - res.results.length);
125
+ _comments = start.concat(res.results);
126
+ }
127
+ else {
128
+ let start = state.comments.slice(res.results.length, state.comments.length);
129
+ _comments = res.results.concat(start);
130
+ }
131
+ dispatch({
132
+ type: forward ? exports.commentsObjectActionTypes.DATA_NEXT_LOADED : exports.commentsObjectActionTypes.DATA_PREVIOUS_LOADED,
133
+ payload: Object.assign(Object.assign({ page: currentPage, comments: _comments }, (forward ? { next: res.next } : { previous: res.previous })), { total: res.count }),
134
+ });
135
+ });
136
+ };
109
137
  /**
110
138
  * Get Comments
111
139
  */
112
- const performFetchComments = (url) => {
140
+ const performFetchComments = (url, seekCache = true) => {
141
+ const __commentObjectsCacheKey = (0, Cache_1.getCommentObjectsCacheKey)(obj.id, obj.type, url);
142
+ if (seekCache && utils_1.LRUCache.hasKey(__commentObjectsCacheKey) && cacheStrategy !== utils_1.CacheStrategies.NETWORK_ONLY) {
143
+ return Promise.resolve(utils_1.LRUCache.get(__commentObjectsCacheKey));
144
+ }
113
145
  return api_services_1.http
114
146
  .request({
115
147
  url,
@@ -119,6 +151,8 @@ function useSCFetchCommentObjects(props) {
119
151
  if (res.status >= 300) {
120
152
  return Promise.reject(res);
121
153
  }
154
+ utils_1.LRUCache.set(__commentObjectsCacheKey, res.data);
155
+ res.data.results.forEach((e) => utils_1.LRUCache.set((0, Cache_1.getCommentObjectCacheKey)(e.id), e));
122
156
  return Promise.resolve(res.data);
123
157
  });
124
158
  };
@@ -143,6 +177,11 @@ function useSCFetchCommentObjects(props) {
143
177
  })
144
178
  .catch((error) => {
145
179
  utils_1.Logger.error(Errors_1.SCOPE_SC_CORE, error);
180
+ })
181
+ .then(() => {
182
+ if (cacheStrategy === utils_1.CacheStrategies.STALE_WHILE_REVALIDATE) {
183
+ revalidate(state.next, false);
184
+ }
146
185
  });
147
186
  }
148
187
  }
@@ -163,6 +202,11 @@ function useSCFetchCommentObjects(props) {
163
202
  })
164
203
  .catch((error) => {
165
204
  utils_1.Logger.error(Errors_1.SCOPE_SC_CORE, error);
205
+ })
206
+ .then(() => {
207
+ if (cacheStrategy === utils_1.CacheStrategies.STALE_WHILE_REVALIDATE) {
208
+ revalidate(state.next, true);
209
+ }
166
210
  });
167
211
  }
168
212
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useSCFetchCommentObjects.js","sourceRoot":"","sources":["../../../src/hooks/useSCFetchCommentObjects.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useSCFetchCommentObjects.js","sourceRoot":"","sources":["../../../src/hooks/useSCFetchCommentObjects.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import { SCUserType, SCFeedObjectType, SCFeedObjectTypologyType } from '@selfcommunity/types';
2
+ import { CacheStrategies } from '@selfcommunity/utils';
3
+ /**
4
+ * Interface SCCommentsObjectType
5
+ */
6
+ export interface SCPaginatedContributorsType {
7
+ componentLoaded: boolean;
8
+ contributors: SCUserType[];
9
+ total: number;
10
+ next: string;
11
+ previous: string;
12
+ isLoadingNext: boolean;
13
+ isLoadingPrevious: boolean;
14
+ page: number;
15
+ reload: boolean;
16
+ }
17
+ /**
18
+ * @hidden
19
+ * We have complex state logic that involves multiple sub-values,
20
+ * so useReducer is preferable to useState.
21
+ * Define all possible auth action types label
22
+ * Use this to export actions and dispatch an action
23
+ */
24
+ export declare const contributorsObjectActionTypes: {
25
+ LOADING_NEXT: string;
26
+ LOADING_PREVIOUS: string;
27
+ DATA_NEXT_LOADED: string;
28
+ DATA_PREVIOUS_LOADED: string;
29
+ DATA_RELOAD: string;
30
+ DATA_RELOADED: string;
31
+ };
32
+ /**
33
+ :::info
34
+ This custom hooks is used to fetch paginated contributors.
35
+ :::
36
+ * @param id
37
+ * @param feedObject
38
+ * @param feedObjectType
39
+ * @param offset
40
+ * @param pageSize
41
+ */
42
+ export default function useSCFetchContributors(props: {
43
+ id?: number;
44
+ feedObject?: SCFeedObjectType;
45
+ feedObjectType: SCFeedObjectTypologyType;
46
+ offset?: number;
47
+ pageSize?: number;
48
+ onChangePage?: (page: any) => any;
49
+ cacheStrategy?: CacheStrategies;
50
+ }): any;
51
+ //# sourceMappingURL=useSCFetchContributors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSCFetchContributors.d.ts","sourceRoot":"","sources":["../../../src/hooks/useSCFetchContributors.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,UAAU,EAAE,gBAAgB,EAAE,wBAAwB,EAAC,MAAM,sBAAsB,CAAC;AAE5F,OAAO,EAAC,eAAe,EAAmB,MAAM,sBAAsB,CAAC;AAIvE;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B;;;;;;;CAOzC,CAAC;AA8EF;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,KAAK,EAAE;IACpD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,cAAc,EAAE,wBAAwB,CAAC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,CAAC,IAAI,KAAA,KAAK,GAAG,CAAC;IAC7B,aAAa,CAAC,EAAE,eAAe,CAAC;CACjC,OAgLA"}