@amityco/ts-sdk 7.7.1-3f344102.0 → 7.7.1-47be9e51.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/core/payload.d.ts +1 -2
  2. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/core/payload.d.ts.map +1 -1
  3. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/core/payload.js.map +1 -1
  4. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/feed.d.ts +31 -0
  5. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/feed.d.ts.map +1 -1
  6. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/feed.js +21 -1
  7. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/feed.js.map +1 -1
  8. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/channelRepository/events/onChannelSetMuted.d.ts.map +1 -1
  9. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/channelRepository/events/onChannelSetMuted.js +8 -6
  10. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/channelRepository/events/onChannelSetMuted.js.map +1 -1
  11. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/index.d.ts +1 -0
  12. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/index.d.ts.map +1 -1
  13. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/index.js +1 -0
  14. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/index.js.map +1 -1
  15. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/LiveCollectionController.d.ts +14 -0
  16. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/LiveCollectionController.d.ts.map +1 -0
  17. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/LiveCollectionController.js +129 -0
  18. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/LiveCollectionController.js.map +1 -0
  19. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/PaginationController.d.ts +5 -0
  20. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/PaginationController.d.ts.map +1 -0
  21. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/PaginationController.js +15 -0
  22. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/PaginationController.js.map +1 -0
  23. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/QueryStreamController.d.ts +15 -0
  24. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/QueryStreamController.d.ts.map +1 -0
  25. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/QueryStreamController.js +78 -0
  26. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/QueryStreamController.js.map +1 -0
  27. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed.d.ts +23 -0
  28. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed.d.ts.map +1 -0
  29. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed.js +46 -0
  30. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed.js.map +1 -0
  31. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/index.d.ts +2 -0
  32. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/index.d.ts.map +1 -0
  33. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/index.js +2 -0
  34. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/index.js.map +1 -0
  35. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/tsconfig.tsbuildinfo +1 -1
  36. package/dist/@types/core/payload.d.ts +1 -2
  37. package/dist/@types/core/payload.d.ts.map +1 -1
  38. package/dist/@types/domains/feed.d.ts +31 -0
  39. package/dist/@types/domains/feed.d.ts.map +1 -1
  40. package/dist/channelRepository/events/onChannelSetMuted.d.ts.map +1 -1
  41. package/dist/feedRepository/index.d.ts +1 -0
  42. package/dist/feedRepository/index.d.ts.map +1 -1
  43. package/dist/feedRepository/observers/getUserFeed/LiveCollectionController.d.ts +14 -0
  44. package/dist/feedRepository/observers/getUserFeed/LiveCollectionController.d.ts.map +1 -0
  45. package/dist/feedRepository/observers/getUserFeed/PaginationController.d.ts +5 -0
  46. package/dist/feedRepository/observers/getUserFeed/PaginationController.d.ts.map +1 -0
  47. package/dist/feedRepository/observers/getUserFeed/QueryStreamController.d.ts +15 -0
  48. package/dist/feedRepository/observers/getUserFeed/QueryStreamController.d.ts.map +1 -0
  49. package/dist/feedRepository/observers/getUserFeed.d.ts +23 -0
  50. package/dist/feedRepository/observers/getUserFeed.d.ts.map +1 -0
  51. package/dist/feedRepository/observers/index.d.ts +2 -0
  52. package/dist/feedRepository/observers/index.d.ts.map +1 -0
  53. package/dist/index.cjs.js +1201 -962
  54. package/dist/index.esm.js +1200 -961
  55. package/dist/index.umd.js +1 -1
  56. package/package.json +1 -1
  57. package/src/@types/core/payload.ts +1 -2
  58. package/src/@types/domains/feed.ts +43 -0
  59. package/src/channelRepository/events/onChannelSetMuted.ts +8 -6
  60. package/src/feedRepository/index.ts +1 -0
  61. package/src/feedRepository/observers/getUserFeed/LiveCollectionController.ts +192 -0
  62. package/src/feedRepository/observers/getUserFeed/PaginationController.ts +37 -0
  63. package/src/feedRepository/observers/getUserFeed/QueryStreamController.ts +119 -0
  64. package/src/feedRepository/observers/getUserFeed.ts +56 -0
  65. package/src/feedRepository/observers/index.ts +1 -0
  66. package/tsconfig.tsbuildinfo +1 -1
@@ -0,0 +1,78 @@
1
+ import { getResolver } from '~/core/model';
2
+ import { getActiveClient } from '~/client';
3
+ import { pullFromCache, pushToCache } from '~/cache/api';
4
+ import { ingestInCache } from '~/cache/api/ingestInCache';
5
+ import { EnumPostActions } from '~/postRepository/observers/enums';
6
+ import { QueryStreamController } from '~/core/liveCollection/QueryStreamController';
7
+ export class UserFeedQueryStreamController extends QueryStreamController {
8
+ constructor(query, cacheKey, notifyChange, preparePayload) {
9
+ super(query, cacheKey);
10
+ this.notifyChange = notifyChange;
11
+ this.preparePayload = preparePayload;
12
+ }
13
+ async saveToMainDB(response) {
14
+ const processedPayload = await this.preparePayload(response);
15
+ const client = getActiveClient();
16
+ const cachedAt = client.cache && Date.now();
17
+ if (client.cache) {
18
+ ingestInCache(processedPayload, { cachedAt });
19
+ }
20
+ }
21
+ appendToQueryStream(response, direction, refresh = false) {
22
+ var _a, _b;
23
+ if (refresh) {
24
+ pushToCache(this.cacheKey, {
25
+ data: response.posts.map(getResolver('post')),
26
+ });
27
+ }
28
+ else {
29
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
30
+ const posts = (_b = collection === null || collection === void 0 ? void 0 : collection.data) !== null && _b !== void 0 ? _b : [];
31
+ pushToCache(this.cacheKey, Object.assign(Object.assign({}, collection), { data: [...new Set([...posts, ...response.posts.map(getResolver('post'))])] }));
32
+ }
33
+ }
34
+ reactor(action) {
35
+ return (post) => {
36
+ var _a, _b;
37
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
38
+ if (!collection)
39
+ return;
40
+ // if the collection is parent post collection and
41
+ // post is not included in the collection or post is child post
42
+ if ((!this.query.dataTypes || this.query.dataTypes.length === 0) &&
43
+ !collection.data.includes(post.parentPostId ? post.parentPostId : post.postId))
44
+ return;
45
+ if (action === EnumPostActions.OnPostDeleted) {
46
+ collection.data = collection.data.filter(postId => postId !== post.postId);
47
+ }
48
+ if (post.parentPostId && post.isDeleted) {
49
+ const parentPost = (_b = pullFromCache([
50
+ 'post',
51
+ 'get',
52
+ post.parentPostId,
53
+ ])) === null || _b === void 0 ? void 0 : _b.data;
54
+ if (!parentPost)
55
+ return;
56
+ parentPost.children = parentPost.children.filter(childId => childId !== post.postId);
57
+ pushToCache(['post', 'get', parentPost.postId], parentPost);
58
+ }
59
+ if (action === EnumPostActions.OnPostDeclined) {
60
+ collection.data = collection.data.filter(postId => postId !== post.postId);
61
+ }
62
+ if (action === EnumPostActions.OnPostCreated || action === EnumPostActions.OnPostApproved) {
63
+ if (this.query.dataTypes &&
64
+ this.query.dataTypes.length > 0 &&
65
+ !this.query.dataTypes.includes(post.dataType)) {
66
+ return;
67
+ }
68
+ collection.data = [...new Set([post.postId, ...collection.data])];
69
+ }
70
+ pushToCache(this.cacheKey, collection);
71
+ this.notifyChange({ origin: "event" /* Amity.LiveDataOrigin.EVENT */, loading: false });
72
+ };
73
+ }
74
+ subscribeRTE(createSubscriber) {
75
+ return createSubscriber.map(subscriber => subscriber.fn(this.reactor(subscriber.action)));
76
+ }
77
+ }
78
+ //# sourceMappingURL=QueryStreamController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryStreamController.js","sourceRoot":"","sources":["../../../../src/feedRepository/observers/getUserFeed/QueryStreamController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AAEpF,MAAM,OAAO,6BAA8B,SAAQ,qBAGlD;IAKC,YACE,KAAmC,EACnC,QAAkB,EAClB,YAAgE,EAChE,cAA2E;QAE3E,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAA2B;QAC5C,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE7D,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QAE5C,IAAI,MAAM,CAAC,KAAK,EAAE;YAChB,aAAa,CAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;SAC/C;IACH,CAAC;IAED,mBAAmB,CACjB,QAAuD,EACvD,SAA4C,EAC5C,OAAO,GAAG,KAAK;;QAEf,IAAI,OAAO,EAAE;YACX,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACzB,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;aAC9C,CAAC,CAAC;SACJ;aAAM;YACL,MAAM,UAAU,GAAG,MAAA,aAAa,CAAoC,IAAI,CAAC,QAAQ,CAAC,0CAAE,IAAI,CAAC;YAEzF,MAAM,KAAK,GAAG,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,mCAAI,EAAE,CAAC;YAErC,WAAW,CAAC,IAAI,CAAC,QAAQ,kCACpB,UAAU,KACb,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAC1E,CAAC;SACJ;IACH,CAAC;IAED,OAAO,CAAC,MAAuB;QAC7B,OAAO,CAAC,IAAwB,EAAE,EAAE;;YAClC,MAAM,UAAU,GAAG,MAAA,aAAa,CAAoC,IAAI,CAAC,QAAQ,CAAC,0CAAE,IAAI,CAAC;YAEzF,IAAI,CAAC,UAAU;gBAAE,OAAO;YAExB,kDAAkD;YAClD,+DAA+D;YAC/D,IACE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC;gBAC5D,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;gBAE9E,OAAO;YAET,IAAI,MAAM,KAAK,eAAe,CAAC,aAAa,EAAE;gBAC5C,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC;aAC5E;YAED,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,SAAS,EAAE;gBACvC,MAAM,UAAU,GAAG,MAAA,aAAa,CAAqB;oBACnD,MAAM;oBACN,KAAK;oBACL,IAAI,CAAC,YAAY;iBAClB,CAAC,0CAAE,IAAI,CAAC;gBAET,IAAI,CAAC,UAAU;oBAAE,OAAO;gBAExB,UAAU,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrF,WAAW,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC;aAC7D;YAED,IAAI,MAAM,KAAK,eAAe,CAAC,cAAc,EAAE;gBAC7C,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC;aAC5E;YAED,IAAI,MAAM,KAAK,eAAe,CAAC,aAAa,IAAI,MAAM,KAAK,eAAe,CAAC,cAAc,EAAE;gBACzF,IACE,IAAI,CAAC,KAAK,CAAC,SAAS;oBACpB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;oBAC/B,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAC7C;oBACA,OAAO;iBACR;gBAED,UAAU,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACnE;YAED,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACvC,IAAI,CAAC,YAAY,CAAC,EAAE,MAAM,0CAA4B,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5E,CAAC,CAAC;IACJ,CAAC;IAED,YAAY,CACV,gBAGG;QAEH,OAAO,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5F,CAAC;CACF","sourcesContent":["import { getResolver } from '~/core/model';\nimport { getActiveClient } from '~/client';\nimport { pullFromCache, pushToCache } from '~/cache/api';\nimport { ingestInCache } from '~/cache/api/ingestInCache';\nimport { EnumPostActions } from '~/postRepository/observers/enums';\nimport { QueryStreamController } from '~/core/liveCollection/QueryStreamController';\n\nexport class UserFeedQueryStreamController extends QueryStreamController<\n Amity.PostPayload,\n Amity.UserFeedLiveCollection\n> {\n private notifyChange: (params: Amity.LiveCollectionNotifyParams) => void;\n\n private preparePayload: (response: Amity.PostPayload) => Amity.ProcessedPostPayload;\n\n constructor(\n query: Amity.UserFeedLiveCollection,\n cacheKey: string[],\n notifyChange: (params: Amity.LiveCollectionNotifyParams) => void,\n preparePayload: (response: Amity.PostPayload) => Amity.ProcessedPostPayload,\n ) {\n super(query, cacheKey);\n this.notifyChange = notifyChange;\n this.preparePayload = preparePayload;\n }\n\n async saveToMainDB(response: Amity.PostPayload) {\n const processedPayload = await this.preparePayload(response);\n\n const client = getActiveClient();\n const cachedAt = client.cache && Date.now();\n\n if (client.cache) {\n ingestInCache(processedPayload, { cachedAt });\n }\n }\n\n appendToQueryStream(\n response: Amity.PostPayload & Partial<Amity.Pagination>,\n direction: Amity.LiveCollectionPageDirection,\n refresh = false,\n ) {\n if (refresh) {\n pushToCache(this.cacheKey, {\n data: response.posts.map(getResolver('post')),\n });\n } else {\n const collection = pullFromCache<Amity.UserFeedLiveCollectionCache>(this.cacheKey)?.data;\n\n const posts = collection?.data ?? [];\n\n pushToCache(this.cacheKey, {\n ...collection,\n data: [...new Set([...posts, ...response.posts.map(getResolver('post'))])],\n });\n }\n }\n\n reactor(action: EnumPostActions) {\n return (post: Amity.InternalPost) => {\n const collection = pullFromCache<Amity.UserFeedLiveCollectionCache>(this.cacheKey)?.data;\n\n if (!collection) return;\n\n // if the collection is parent post collection and\n // post is not included in the collection or post is child post\n if (\n (!this.query.dataTypes || this.query.dataTypes.length === 0) &&\n !collection.data.includes(post.parentPostId ? post.parentPostId : post.postId)\n )\n return;\n\n if (action === EnumPostActions.OnPostDeleted) {\n collection.data = collection.data.filter(postId => postId !== post.postId);\n }\n\n if (post.parentPostId && post.isDeleted) {\n const parentPost = pullFromCache<Amity.InternalPost>([\n 'post',\n 'get',\n post.parentPostId,\n ])?.data;\n\n if (!parentPost) return;\n\n parentPost.children = parentPost.children.filter(childId => childId !== post.postId);\n pushToCache(['post', 'get', parentPost.postId], parentPost);\n }\n\n if (action === EnumPostActions.OnPostDeclined) {\n collection.data = collection.data.filter(postId => postId !== post.postId);\n }\n\n if (action === EnumPostActions.OnPostCreated || action === EnumPostActions.OnPostApproved) {\n if (\n this.query.dataTypes &&\n this.query.dataTypes.length > 0 &&\n !this.query.dataTypes.includes(post.dataType)\n ) {\n return;\n }\n\n collection.data = [...new Set([post.postId, ...collection.data])];\n }\n\n pushToCache(this.cacheKey, collection);\n this.notifyChange({ origin: Amity.LiveDataOrigin.EVENT, loading: false });\n };\n }\n\n subscribeRTE(\n createSubscriber: {\n fn: (reactor: (post: Amity.InternalPost) => void) => Amity.Unsubscriber;\n action: EnumPostActions;\n }[],\n ) {\n return createSubscriber.map(subscriber => subscriber.fn(this.reactor(subscriber.action)));\n }\n}\n"]}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * ```js
3
+ * import { FeedRepository } from '@amityco/ts-sdk'
4
+ *
5
+ * let posts = []
6
+ * const unsubscribe = FeedRepository.getUserFeed({
7
+ * userId: string,
8
+ * feedSources: ['user', 'community'],
9
+ * }, response => response => processResponse(response))
10
+ * ```
11
+ *
12
+ * Observe all mutations on a list of {@link Amity.Post} for a given user and feedSources
13
+ *
14
+ * @param params.userId the ID of the user
15
+ * @param params.feedSources the sources of the feed
16
+ * @param callback the function to call when new data are available
17
+ * @param config
18
+ * @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the messages
19
+ *
20
+ * @category Posts Live Collection
21
+ */
22
+ export declare const getUserFeed: (params: Amity.UserFeedLiveCollection, callback: Amity.LiveCollectionCallback<Amity.Post>, config?: Amity.LiveCollectionConfig) => Amity.Unsubscriber;
23
+ //# sourceMappingURL=getUserFeed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getUserFeed.d.ts","sourceRoot":"","sources":["../../../src/feedRepository/observers/getUserFeed.ts"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,WAAW,WACd,MAAM,sBAAsB,YAC1B,MAAM,sBAAsB,CAAC,MAAM,IAAI,CAAC,WACzC,MAAM,oBAAoB,KAClC,MAAM,YAqBR,CAAC"}
@@ -0,0 +1,46 @@
1
+ import { getActiveClient } from '~/client/api/activeClient';
2
+ import { dropFromCache } from '~/cache/api/dropFromCache';
3
+ import { ENABLE_CACHE_MESSAGE } from '~/utils/constants';
4
+ import { UserFeedLiveCollectionController } from './getUserFeed/LiveCollectionController';
5
+ /* begin_public_function
6
+ id: feed.query.user_feed
7
+ */
8
+ /**
9
+ * ```js
10
+ * import { FeedRepository } from '@amityco/ts-sdk'
11
+ *
12
+ * let posts = []
13
+ * const unsubscribe = FeedRepository.getUserFeed({
14
+ * userId: string,
15
+ * feedSources: ['user', 'community'],
16
+ * }, response => response => processResponse(response))
17
+ * ```
18
+ *
19
+ * Observe all mutations on a list of {@link Amity.Post} for a given user and feedSources
20
+ *
21
+ * @param params.userId the ID of the user
22
+ * @param params.feedSources the sources of the feed
23
+ * @param callback the function to call when new data are available
24
+ * @param config
25
+ * @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the messages
26
+ *
27
+ * @category Posts Live Collection
28
+ */
29
+ export const getUserFeed = (params, callback, config) => {
30
+ const { log, cache } = getActiveClient();
31
+ if (!cache) {
32
+ console.log(ENABLE_CACHE_MESSAGE);
33
+ }
34
+ const timestamp = Date.now();
35
+ log(`getUserFeed(tmpid: ${timestamp}) > listen`);
36
+ const userFeedLiveCollection = new UserFeedLiveCollectionController(params, callback);
37
+ const disposers = userFeedLiveCollection.startSubscription();
38
+ const cacheKey = userFeedLiveCollection.getCacheKey();
39
+ disposers.push(() => dropFromCache(cacheKey));
40
+ return () => {
41
+ log(`getUserFeed(tmpid: ${timestamp}) > dispose`);
42
+ disposers.forEach(fn => fn());
43
+ };
44
+ };
45
+ /* end_public_function */
46
+ //# sourceMappingURL=getUserFeed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getUserFeed.js","sourceRoot":"","sources":["../../../src/feedRepository/observers/getUserFeed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,gCAAgC,EAAE,MAAM,wCAAwC,CAAC;AAE1F;;EAEE;AACF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,MAAoC,EACpC,QAAkD,EAClD,MAAmC,EACf,EAAE;IACtB,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,eAAe,EAAE,CAAC;IAEzC,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;KACnC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,GAAG,CAAC,sBAAsB,SAAS,YAAY,CAAC,CAAC;IAEjD,MAAM,sBAAsB,GAAG,IAAI,gCAAgC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACtF,MAAM,SAAS,GAAG,sBAAsB,CAAC,iBAAiB,EAAE,CAAC;IAE7D,MAAM,QAAQ,GAAG,sBAAsB,CAAC,WAAW,EAAE,CAAC;IAEtD,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE9C,OAAO,GAAG,EAAE;QACV,GAAG,CAAC,sBAAsB,SAAS,aAAa,CAAC,CAAC;QAClD,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAChC,CAAC,CAAC;AACJ,CAAC,CAAC;AACF,yBAAyB","sourcesContent":["import { getActiveClient } from '~/client/api/activeClient';\nimport { dropFromCache } from '~/cache/api/dropFromCache';\nimport { ENABLE_CACHE_MESSAGE } from '~/utils/constants';\nimport { UserFeedLiveCollectionController } from './getUserFeed/LiveCollectionController';\n\n/* begin_public_function\n id: feed.query.user_feed\n*/\n/**\n * ```js\n * import { FeedRepository } from '@amityco/ts-sdk'\n *\n * let posts = []\n * const unsubscribe = FeedRepository.getUserFeed({\n * userId: string,\n * feedSources: ['user', 'community'],\n * }, response => response => processResponse(response))\n * ```\n *\n * Observe all mutations on a list of {@link Amity.Post} for a given user and feedSources\n *\n * @param params.userId the ID of the user\n * @param params.feedSources the sources of the feed\n * @param callback the function to call when new data are available\n * @param config\n * @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the messages\n *\n * @category Posts Live Collection\n */\nexport const getUserFeed = (\n params: Amity.UserFeedLiveCollection,\n callback: Amity.LiveCollectionCallback<Amity.Post>,\n config?: Amity.LiveCollectionConfig,\n): Amity.Unsubscriber => {\n const { log, cache } = getActiveClient();\n\n if (!cache) {\n console.log(ENABLE_CACHE_MESSAGE);\n }\n\n const timestamp = Date.now();\n log(`getUserFeed(tmpid: ${timestamp}) > listen`);\n\n const userFeedLiveCollection = new UserFeedLiveCollectionController(params, callback);\n const disposers = userFeedLiveCollection.startSubscription();\n\n const cacheKey = userFeedLiveCollection.getCacheKey();\n\n disposers.push(() => dropFromCache(cacheKey));\n\n return () => {\n log(`getUserFeed(tmpid: ${timestamp}) > dispose`);\n disposers.forEach(fn => fn());\n };\n};\n/* end_public_function */\n"]}
@@ -0,0 +1,2 @@
1
+ export * from './getUserFeed';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/feedRepository/observers/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './getUserFeed';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/feedRepository/observers/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC","sourcesContent":["export * from './getUserFeed';\n"]}