@selfcommunity/react-core 0.1.18 → 0.1.19-alpha.2
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/lib/cjs/components/provider/SCRoutingProvider/index.d.ts.map +1 -1
- package/lib/cjs/constants/Cache.d.ts +28 -0
- package/lib/cjs/constants/Cache.d.ts.map +1 -0
- package/lib/cjs/constants/Cache.js +41 -0
- package/lib/cjs/constants/Cache.js.map +1 -0
- package/lib/cjs/hooks/useSCFetchCategory.d.ts +3 -1
- package/lib/cjs/hooks/useSCFetchCategory.d.ts.map +1 -1
- package/lib/cjs/hooks/useSCFetchCategory.js +19 -6
- package/lib/cjs/hooks/useSCFetchCategory.js.map +1 -1
- package/lib/cjs/hooks/useSCFetchCommentObject.d.ts +4 -1
- package/lib/cjs/hooks/useSCFetchCommentObject.d.ts.map +1 -1
- package/lib/cjs/hooks/useSCFetchCommentObject.js +20 -6
- package/lib/cjs/hooks/useSCFetchCommentObject.js.map +1 -1
- package/lib/cjs/hooks/useSCFetchCommentObjects.d.ts +2 -0
- package/lib/cjs/hooks/useSCFetchCommentObjects.d.ts.map +1 -1
- package/lib/cjs/hooks/useSCFetchCommentObjects.js +48 -4
- package/lib/cjs/hooks/useSCFetchCommentObjects.js.map +1 -1
- package/lib/cjs/hooks/useSCFetchContributors.d.ts +51 -0
- package/lib/cjs/hooks/useSCFetchContributors.d.ts.map +1 -0
- package/lib/cjs/hooks/useSCFetchContributors.js +237 -0
- package/lib/cjs/hooks/useSCFetchContributors.js.map +1 -0
- package/lib/cjs/hooks/useSCFetchFeed.d.ts +50 -0
- package/lib/cjs/hooks/useSCFetchFeed.d.ts.map +1 -0
- package/lib/cjs/hooks/useSCFetchFeed.js +251 -0
- package/lib/cjs/hooks/useSCFetchFeed.js.map +1 -0
- package/lib/cjs/hooks/useSCFetchFeedObject.d.ts +4 -1
- package/lib/cjs/hooks/useSCFetchFeedObject.d.ts.map +1 -1
- package/lib/cjs/hooks/useSCFetchFeedObject.js +21 -9
- package/lib/cjs/hooks/useSCFetchFeedObject.js.map +1 -1
- package/lib/cjs/index.d.ts +4 -1
- package/lib/cjs/index.d.ts.map +1 -1
- package/lib/cjs/index.js +7 -1
- package/lib/cjs/index.js.map +1 -1
- package/lib/esm/components/provider/SCRoutingProvider/index.d.ts.map +1 -1
- package/lib/esm/constants/Cache.d.ts +28 -0
- package/lib/esm/constants/Cache.d.ts.map +1 -0
- package/lib/esm/constants/Cache.js +28 -0
- package/lib/esm/constants/Cache.js.map +1 -0
- package/lib/esm/hooks/useSCFetchCategory.d.ts +3 -1
- package/lib/esm/hooks/useSCFetchCategory.d.ts.map +1 -1
- package/lib/esm/hooks/useSCFetchCategory.js +20 -7
- package/lib/esm/hooks/useSCFetchCategory.js.map +1 -1
- package/lib/esm/hooks/useSCFetchCommentObject.d.ts +4 -1
- package/lib/esm/hooks/useSCFetchCommentObject.d.ts.map +1 -1
- package/lib/esm/hooks/useSCFetchCommentObject.js +21 -7
- package/lib/esm/hooks/useSCFetchCommentObject.js.map +1 -1
- package/lib/esm/hooks/useSCFetchCommentObjects.d.ts +2 -0
- package/lib/esm/hooks/useSCFetchCommentObjects.d.ts.map +1 -1
- package/lib/esm/hooks/useSCFetchCommentObjects.js +50 -6
- package/lib/esm/hooks/useSCFetchCommentObjects.js.map +1 -1
- package/lib/esm/hooks/useSCFetchContributors.d.ts +51 -0
- package/lib/esm/hooks/useSCFetchContributors.d.ts.map +1 -0
- package/lib/esm/hooks/useSCFetchContributors.js +230 -0
- package/lib/esm/hooks/useSCFetchContributors.js.map +1 -0
- package/lib/esm/hooks/useSCFetchFeed.d.ts +50 -0
- package/lib/esm/hooks/useSCFetchFeed.d.ts.map +1 -0
- package/lib/esm/hooks/useSCFetchFeed.js +247 -0
- package/lib/esm/hooks/useSCFetchFeed.js.map +1 -0
- package/lib/esm/hooks/useSCFetchFeedObject.d.ts +4 -1
- package/lib/esm/hooks/useSCFetchFeedObject.d.ts.map +1 -1
- package/lib/esm/hooks/useSCFetchFeedObject.js +22 -10
- package/lib/esm/hooks/useSCFetchFeedObject.js.map +1 -1
- package/lib/esm/index.d.ts +4 -1
- package/lib/esm/index.d.ts.map +1 -1
- package/lib/esm/index.js +4 -1
- package/lib/esm/index.js.map +1 -1
- package/lib/umd/react-core.js +1 -1
- 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,
|
|
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;
|
|
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
|
|
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:
|
|
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
|
-
}, [
|
|
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 (
|
|
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
|
-
}, [
|
|
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,
|
|
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;
|
|
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
|
|
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:
|
|
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
|
-
}, [
|
|
39
|
+
}, [__commentObjectId]);
|
|
34
40
|
/**
|
|
35
41
|
* If id and feedObjectType resolve feddObject
|
|
36
42
|
*/
|
|
37
43
|
(0, react_1.useEffect)(() => {
|
|
38
|
-
if (
|
|
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
|
-
}, [
|
|
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,
|
|
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;
|
|
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
|
-
|
|
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":";;;;;;AAAA,iCAA4C;AAC5C,gDAAkD;AAClD,gDAAkH;AAClH,8DAA0E;AAC1E,
|
|
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"}
|