@replyke/core 5.1.6-beta.4 → 5.1.6-beta.6

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 (119) hide show
  1. package/dist/cjs/context/index.d.ts +0 -1
  2. package/dist/cjs/context/index.js +1 -5
  3. package/dist/cjs/context/index.js.map +1 -1
  4. package/dist/cjs/hooks/entities/index.d.ts +1 -3
  5. package/dist/cjs/hooks/entities/index.js +2 -6
  6. package/dist/cjs/hooks/entities/index.js.map +1 -1
  7. package/dist/cjs/hooks/entities/useEntityData.js +2 -2
  8. package/dist/cjs/hooks/entities/useEntityData.js.map +1 -1
  9. package/dist/cjs/hooks/entity-lists/useFetchManyEntities.js.map +1 -0
  10. package/dist/cjs/hooks/entity-lists/useInfusedData.js.map +1 -0
  11. package/dist/cjs/hooks/entity-lists-redux/index.d.ts +2 -0
  12. package/dist/cjs/hooks/entity-lists-redux/index.js +9 -0
  13. package/dist/cjs/hooks/entity-lists-redux/index.js.map +1 -0
  14. package/dist/cjs/hooks/entity-lists-redux/useEntityListRedux.d.ts +66 -0
  15. package/dist/cjs/hooks/entity-lists-redux/useEntityListRedux.js +309 -0
  16. package/dist/cjs/hooks/entity-lists-redux/useEntityListRedux.js.map +1 -0
  17. package/dist/cjs/index.d.ts +4 -4
  18. package/dist/cjs/index.js +7 -6
  19. package/dist/cjs/index.js.map +1 -1
  20. package/dist/cjs/{context → legacy/context}/entity-list-context.d.ts +1 -1
  21. package/dist/cjs/{context → legacy/context}/entity-list-context.js +1 -1
  22. package/dist/cjs/legacy/context/entity-list-context.js.map +1 -0
  23. package/dist/cjs/legacy/hooks/entity-lists/useEntityList.js.map +1 -0
  24. package/dist/cjs/{hooks/entities → legacy/hooks/entity-lists}/useEntityListData.d.ts +9 -9
  25. package/dist/cjs/{hooks/entities → legacy/hooks/entity-lists}/useEntityListData.js +5 -5
  26. package/dist/cjs/legacy/hooks/entity-lists/useEntityListData.js.map +1 -0
  27. package/dist/cjs/store/api/baseApi.js +2 -1
  28. package/dist/cjs/store/api/baseApi.js.map +1 -1
  29. package/dist/cjs/store/index.d.ts +4 -2
  30. package/dist/cjs/store/index.js +2 -1
  31. package/dist/cjs/store/index.js.map +1 -1
  32. package/dist/cjs/store/middleware.js +3 -2
  33. package/dist/cjs/store/middleware.js.map +1 -1
  34. package/dist/cjs/store/rootReducer.d.ts +2 -0
  35. package/dist/cjs/store/rootReducer.js +2 -0
  36. package/dist/cjs/store/rootReducer.js.map +1 -1
  37. package/dist/cjs/store/slices/entityListsSlice.d.ts +141 -0
  38. package/dist/cjs/store/slices/entityListsSlice.js +281 -0
  39. package/dist/cjs/store/slices/entityListsSlice.js.map +1 -0
  40. package/dist/cjs/store/slices/index.d.ts +0 -1
  41. package/dist/cjs/store/slices/index.js +2 -18
  42. package/dist/cjs/store/slices/index.js.map +1 -1
  43. package/dist/cjs/utils/env.d.ts +19 -0
  44. package/dist/cjs/utils/env.js +102 -0
  45. package/dist/cjs/utils/env.js.map +1 -0
  46. package/dist/cjs/utils/keywordHelpers.d.ts +30 -0
  47. package/dist/cjs/utils/keywordHelpers.js +101 -0
  48. package/dist/cjs/utils/keywordHelpers.js.map +1 -0
  49. package/dist/esm/context/index.d.ts +0 -1
  50. package/dist/esm/context/index.js +0 -3
  51. package/dist/esm/context/index.js.map +1 -1
  52. package/dist/esm/hooks/entities/index.d.ts +1 -3
  53. package/dist/esm/hooks/entities/index.js +1 -3
  54. package/dist/esm/hooks/entities/index.js.map +1 -1
  55. package/dist/esm/hooks/entities/useEntityData.js +2 -2
  56. package/dist/esm/hooks/entities/useEntityData.js.map +1 -1
  57. package/dist/esm/hooks/entity-lists/useFetchManyEntities.js.map +1 -0
  58. package/dist/esm/hooks/entity-lists/useInfusedData.js.map +1 -0
  59. package/dist/esm/hooks/entity-lists-redux/index.d.ts +2 -0
  60. package/dist/esm/hooks/entity-lists-redux/index.js +2 -0
  61. package/dist/esm/hooks/entity-lists-redux/index.js.map +1 -0
  62. package/dist/esm/hooks/entity-lists-redux/useEntityListRedux.d.ts +66 -0
  63. package/dist/esm/hooks/entity-lists-redux/useEntityListRedux.js +304 -0
  64. package/dist/esm/hooks/entity-lists-redux/useEntityListRedux.js.map +1 -0
  65. package/dist/esm/index.d.ts +4 -4
  66. package/dist/esm/index.js +5 -4
  67. package/dist/esm/index.js.map +1 -1
  68. package/dist/esm/{context → legacy/context}/entity-list-context.d.ts +1 -1
  69. package/dist/esm/{context → legacy/context}/entity-list-context.js +1 -1
  70. package/dist/esm/legacy/context/entity-list-context.js.map +1 -0
  71. package/dist/esm/legacy/hooks/entity-lists/useEntityList.js.map +1 -0
  72. package/dist/esm/{hooks/entities → legacy/hooks/entity-lists}/useEntityListData.d.ts +9 -9
  73. package/dist/esm/{hooks/entities → legacy/hooks/entity-lists}/useEntityListData.js +5 -5
  74. package/dist/esm/legacy/hooks/entity-lists/useEntityListData.js.map +1 -0
  75. package/dist/esm/store/api/baseApi.js +2 -1
  76. package/dist/esm/store/api/baseApi.js.map +1 -1
  77. package/dist/esm/store/index.d.ts +4 -2
  78. package/dist/esm/store/index.js +2 -1
  79. package/dist/esm/store/index.js.map +1 -1
  80. package/dist/esm/store/middleware.js +3 -2
  81. package/dist/esm/store/middleware.js.map +1 -1
  82. package/dist/esm/store/rootReducer.d.ts +2 -0
  83. package/dist/esm/store/rootReducer.js +2 -0
  84. package/dist/esm/store/rootReducer.js.map +1 -1
  85. package/dist/esm/store/slices/entityListsSlice.d.ts +141 -0
  86. package/dist/esm/store/slices/entityListsSlice.js +273 -0
  87. package/dist/esm/store/slices/entityListsSlice.js.map +1 -0
  88. package/dist/esm/store/slices/index.d.ts +0 -1
  89. package/dist/esm/store/slices/index.js +3 -3
  90. package/dist/esm/store/slices/index.js.map +1 -1
  91. package/dist/esm/utils/env.d.ts +19 -0
  92. package/dist/esm/utils/env.js +96 -0
  93. package/dist/esm/utils/env.js.map +1 -0
  94. package/dist/esm/utils/keywordHelpers.d.ts +30 -0
  95. package/dist/esm/utils/keywordHelpers.js +98 -0
  96. package/dist/esm/utils/keywordHelpers.js.map +1 -0
  97. package/package.json +1 -1
  98. package/dist/cjs/context/entity-list-context.js.map +0 -1
  99. package/dist/cjs/hooks/entities/useEntityList.js.map +0 -1
  100. package/dist/cjs/hooks/entities/useEntityListData.js.map +0 -1
  101. package/dist/cjs/hooks/entities/useFetchManyEntities.js.map +0 -1
  102. package/dist/cjs/hooks/entities/useInfusedData.js.map +0 -1
  103. package/dist/esm/context/entity-list-context.js.map +0 -1
  104. package/dist/esm/hooks/entities/useEntityList.js.map +0 -1
  105. package/dist/esm/hooks/entities/useEntityListData.js.map +0 -1
  106. package/dist/esm/hooks/entities/useFetchManyEntities.js.map +0 -1
  107. package/dist/esm/hooks/entities/useInfusedData.js.map +0 -1
  108. /package/dist/cjs/hooks/{entities → entity-lists}/useFetchManyEntities.d.ts +0 -0
  109. /package/dist/cjs/hooks/{entities → entity-lists}/useFetchManyEntities.js +0 -0
  110. /package/dist/cjs/hooks/{entities → entity-lists}/useInfusedData.d.ts +0 -0
  111. /package/dist/cjs/hooks/{entities → entity-lists}/useInfusedData.js +0 -0
  112. /package/dist/cjs/{hooks/entities → legacy/hooks/entity-lists}/useEntityList.d.ts +0 -0
  113. /package/dist/cjs/{hooks/entities → legacy/hooks/entity-lists}/useEntityList.js +0 -0
  114. /package/dist/esm/hooks/{entities → entity-lists}/useFetchManyEntities.d.ts +0 -0
  115. /package/dist/esm/hooks/{entities → entity-lists}/useFetchManyEntities.js +0 -0
  116. /package/dist/esm/hooks/{entities → entity-lists}/useInfusedData.d.ts +0 -0
  117. /package/dist/esm/hooks/{entities → entity-lists}/useInfusedData.js +0 -0
  118. /package/dist/esm/{hooks/entities → legacy/hooks/entity-lists}/useEntityList.d.ts +0 -0
  119. /package/dist/esm/{hooks/entities → legacy/hooks/entity-lists}/useEntityList.js +0 -0
@@ -0,0 +1,281 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
14
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
15
+ if (ar || !(i in from)) {
16
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
17
+ ar[i] = from[i];
18
+ }
19
+ }
20
+ return to.concat(ar || Array.prototype.slice.call(from));
21
+ };
22
+ var _a;
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.selectEntityListFilters = exports.selectEntityListHasMore = exports.selectEntityListLoading = exports.selectEntityListEntities = exports.selectEntityList = exports.cleanupOldLists = exports.cleanupList = exports.updateKeywordsFilters = exports.removeEntity = exports.addEntity = exports.setEntityListError = exports.setEntityListHasMore = exports.incrementPage = exports.setEntityListEntities = exports.setEntityListLoading = exports.updateFiltersAndSort = exports.initializeList = exports.entityListsSlice = void 0;
25
+ var toolkit_1 = require("@reduxjs/toolkit");
26
+ // Default state for a new entity list
27
+ var createDefaultEntityListState = function () { return ({
28
+ entities: [],
29
+ page: 1,
30
+ loading: false,
31
+ hasMore: true,
32
+ error: null,
33
+ lastFetched: null,
34
+ // Default filters
35
+ limit: 10,
36
+ sortBy: "hot",
37
+ timeFrame: null,
38
+ sourceId: null,
39
+ userId: null,
40
+ followedOnly: false,
41
+ keywordsFilters: null,
42
+ titleFilters: null,
43
+ contentFilters: null,
44
+ attachmentsFilters: null,
45
+ locationFilters: null,
46
+ metadataFilters: null,
47
+ }); };
48
+ // Initial state
49
+ var initialState = {
50
+ lists: {},
51
+ };
52
+ // Create the slice
53
+ exports.entityListsSlice = (0, toolkit_1.createSlice)({
54
+ name: "entityLists",
55
+ initialState: initialState,
56
+ reducers: {
57
+ // Initialize or get existing list
58
+ initializeList: function (state, action) {
59
+ var _a = action.payload, listId = _a.listId, limit = _a.limit, sourceId = _a.sourceId;
60
+ if (!state.lists[listId]) {
61
+ var defaultState = createDefaultEntityListState();
62
+ if (limit) {
63
+ defaultState.limit = limit;
64
+ }
65
+ if (sourceId !== undefined) {
66
+ defaultState.sourceId = sourceId;
67
+ }
68
+ state.lists[listId] = defaultState;
69
+ }
70
+ },
71
+ // Update filters and sort (unified function)
72
+ updateFiltersAndSort: function (state, action) {
73
+ var _a = action.payload, listId = _a.listId, filters = _a.filters, options = _a.options;
74
+ // Ensure list exists
75
+ if (!state.lists[listId]) {
76
+ state.lists[listId] = createDefaultEntityListState();
77
+ }
78
+ var list = state.lists[listId];
79
+ // If resetUnspecified is true, reset to defaults first
80
+ if (options === null || options === void 0 ? void 0 : options.resetUnspecified) {
81
+ var defaultState = createDefaultEntityListState();
82
+ // Reset all filter properties to defaults (but keep limit and sourceId as hook-level config)
83
+ list.sortBy = defaultState.sortBy;
84
+ list.timeFrame = defaultState.timeFrame;
85
+ list.userId = defaultState.userId;
86
+ list.followedOnly = defaultState.followedOnly;
87
+ list.keywordsFilters = defaultState.keywordsFilters;
88
+ list.titleFilters = defaultState.titleFilters;
89
+ list.contentFilters = defaultState.contentFilters;
90
+ list.attachmentsFilters = defaultState.attachmentsFilters;
91
+ list.locationFilters = defaultState.locationFilters;
92
+ list.metadataFilters = defaultState.metadataFilters;
93
+ }
94
+ // Update specified filters
95
+ Object.keys(filters).forEach(function (key) {
96
+ if (filters[key] !== undefined) {
97
+ list[key] = filters[key];
98
+ }
99
+ });
100
+ // Reset pagination when filters change
101
+ list.page = 1;
102
+ list.hasMore = true;
103
+ list.error = null;
104
+ },
105
+ // Set loading state for entity list
106
+ setEntityListLoading: function (state, action) {
107
+ var _a = action.payload, listId = _a.listId, loading = _a.loading;
108
+ if (state.lists[listId]) {
109
+ state.lists[listId].loading = loading;
110
+ }
111
+ },
112
+ // Set entities for entity list
113
+ setEntityListEntities: function (state, action) {
114
+ var _a = action.payload, listId = _a.listId, entities = _a.entities, _b = _a.append, append = _b === void 0 ? false : _b;
115
+ if (!state.lists[listId]) {
116
+ state.lists[listId] = createDefaultEntityListState();
117
+ }
118
+ var list = state.lists[listId];
119
+ if (append) {
120
+ // Filter out duplicates when appending
121
+ var existingIds_1 = new Set(list.entities.map(function (e) { return e.id; }));
122
+ var newEntities = entities.filter(function (e) { return !existingIds_1.has(e.id); });
123
+ list.entities = __spreadArray(__spreadArray([], list.entities, true), newEntities, true);
124
+ }
125
+ else {
126
+ list.entities = entities;
127
+ }
128
+ list.loading = false;
129
+ list.lastFetched = Date.now();
130
+ // Update hasMore based on returned entities length
131
+ if (entities.length < list.limit) {
132
+ list.hasMore = false;
133
+ }
134
+ },
135
+ // Increment page for load more
136
+ incrementPage: function (state, action) {
137
+ var listId = action.payload;
138
+ if (state.lists[listId]) {
139
+ state.lists[listId].page += 1;
140
+ }
141
+ },
142
+ // Set hasMore for entity list
143
+ setEntityListHasMore: function (state, action) {
144
+ var _a = action.payload, listId = _a.listId, hasMore = _a.hasMore;
145
+ if (state.lists[listId]) {
146
+ state.lists[listId].hasMore = hasMore;
147
+ }
148
+ },
149
+ // Set error for entity list
150
+ setEntityListError: function (state, action) {
151
+ var _a = action.payload, listId = _a.listId, error = _a.error;
152
+ if (state.lists[listId]) {
153
+ state.lists[listId].error = error;
154
+ state.lists[listId].loading = false;
155
+ }
156
+ },
157
+ // Add entity
158
+ addEntity: function (state, action) {
159
+ var _a = action.payload, listId = _a.listId, entity = _a.entity, _b = _a.insertPosition, insertPosition = _b === void 0 ? "first" : _b;
160
+ if (!state.lists[listId])
161
+ return;
162
+ var list = state.lists[listId];
163
+ if (insertPosition === "last") {
164
+ list.entities.push(entity);
165
+ }
166
+ else {
167
+ list.entities.unshift(entity);
168
+ }
169
+ },
170
+ // Remove entity
171
+ removeEntity: function (state, action) {
172
+ var _a = action.payload, listId = _a.listId, entityId = _a.entityId;
173
+ if (!state.lists[listId])
174
+ return;
175
+ var list = state.lists[listId];
176
+ list.entities = list.entities.filter(function (e) { return e.id !== entityId; });
177
+ },
178
+ // Update keywords filters (special case due to complexity)
179
+ updateKeywordsFilters: function (state, action) {
180
+ var _a, _b, _c, _d;
181
+ var _e = action.payload, listId = _e.listId, type = _e.type, key = _e.key, value = _e.value;
182
+ if (!state.lists[listId]) {
183
+ state.lists[listId] = createDefaultEntityListState();
184
+ }
185
+ var list = state.lists[listId];
186
+ var items = Array.isArray(value) ? value : value ? [value] : [];
187
+ var newFilters = list.keywordsFilters || {};
188
+ switch (type) {
189
+ case "add": {
190
+ if (key === "both")
191
+ break; // Invalid to add to both
192
+ newFilters = __assign(__assign({}, newFilters), (_a = {}, _a[key] = Array.from(new Set(__spreadArray(__spreadArray([], (newFilters[key] || []), true), items, true))), _a));
193
+ break;
194
+ }
195
+ case "remove": {
196
+ if (key === "both") {
197
+ newFilters = {
198
+ includes: (newFilters.includes || []).filter(function (item) { return !items.includes(item); }),
199
+ doesNotInclude: (newFilters.doesNotInclude || []).filter(function (item) { return !items.includes(item); }),
200
+ };
201
+ }
202
+ else {
203
+ newFilters = __assign(__assign({}, newFilters), (_b = {}, _b[key] = (newFilters[key] || []).filter(function (item) { return !items.includes(item); }), _b));
204
+ }
205
+ break;
206
+ }
207
+ case "reset": {
208
+ if (key === "both") {
209
+ newFilters = {};
210
+ }
211
+ else {
212
+ newFilters = __assign(__assign({}, newFilters), (_c = {}, _c[key] = undefined, _c));
213
+ }
214
+ break;
215
+ }
216
+ case "replace": {
217
+ if (key === "both")
218
+ break; // Replace does not apply to both
219
+ newFilters = __assign(__assign({}, newFilters), (_d = {}, _d[key] = items, _d));
220
+ break;
221
+ }
222
+ }
223
+ list.keywordsFilters = Object.keys(newFilters).length > 0 ? newFilters : null;
224
+ // Reset pagination when filters change
225
+ list.page = 1;
226
+ list.hasMore = true;
227
+ list.error = null;
228
+ },
229
+ // Clean up unused lists (for memory management)
230
+ cleanupList: function (state, action) {
231
+ var listId = action.payload;
232
+ delete state.lists[listId];
233
+ },
234
+ // Clean up old lists (older than TTL)
235
+ cleanupOldLists: function (state, action) {
236
+ var ttl = action.payload; // TTL in milliseconds
237
+ var now = Date.now();
238
+ Object.keys(state.lists).forEach(function (listId) {
239
+ var list = state.lists[listId];
240
+ if (list.lastFetched && (now - list.lastFetched) > ttl) {
241
+ delete state.lists[listId];
242
+ }
243
+ });
244
+ },
245
+ },
246
+ });
247
+ // Export actions
248
+ exports.initializeList = (_a = exports.entityListsSlice.actions, _a.initializeList), exports.updateFiltersAndSort = _a.updateFiltersAndSort, exports.setEntityListLoading = _a.setEntityListLoading, exports.setEntityListEntities = _a.setEntityListEntities, exports.incrementPage = _a.incrementPage, exports.setEntityListHasMore = _a.setEntityListHasMore, exports.setEntityListError = _a.setEntityListError, exports.addEntity = _a.addEntity, exports.removeEntity = _a.removeEntity, exports.updateKeywordsFilters = _a.updateKeywordsFilters, exports.cleanupList = _a.cleanupList, exports.cleanupOldLists = _a.cleanupOldLists;
249
+ // Selectors
250
+ var selectEntityList = function (state, listId) {
251
+ return state.entityLists.lists[listId];
252
+ };
253
+ exports.selectEntityList = selectEntityList;
254
+ var selectEntityListEntities = function (state, listId) { var _a; return ((_a = state.entityLists.lists[listId]) === null || _a === void 0 ? void 0 : _a.entities) || []; };
255
+ exports.selectEntityListEntities = selectEntityListEntities;
256
+ var selectEntityListLoading = function (state, listId) { var _a; return ((_a = state.entityLists.lists[listId]) === null || _a === void 0 ? void 0 : _a.loading) || false; };
257
+ exports.selectEntityListLoading = selectEntityListLoading;
258
+ var selectEntityListHasMore = function (state, listId) { var _a; return ((_a = state.entityLists.lists[listId]) === null || _a === void 0 ? void 0 : _a.hasMore) || false; };
259
+ exports.selectEntityListHasMore = selectEntityListHasMore;
260
+ var selectEntityListFilters = function (state, listId) {
261
+ var list = state.entityLists.lists[listId];
262
+ if (!list)
263
+ return null;
264
+ return {
265
+ limit: list.limit,
266
+ sortBy: list.sortBy,
267
+ timeFrame: list.timeFrame,
268
+ sourceId: list.sourceId,
269
+ userId: list.userId,
270
+ followedOnly: list.followedOnly,
271
+ keywordsFilters: list.keywordsFilters,
272
+ titleFilters: list.titleFilters,
273
+ contentFilters: list.contentFilters,
274
+ attachmentsFilters: list.attachmentsFilters,
275
+ locationFilters: list.locationFilters,
276
+ metadataFilters: list.metadataFilters,
277
+ };
278
+ };
279
+ exports.selectEntityListFilters = selectEntityListFilters;
280
+ exports.default = exports.entityListsSlice.reducer;
281
+ //# sourceMappingURL=entityListsSlice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entityListsSlice.js","sourceRoot":"","sources":["../../../../src/store/slices/entityListsSlice.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export * from "./appNotificationsSlice";
@@ -1,23 +1,7 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- // Export app notifications slice
18
- __exportStar(require("./appNotificationsSlice"), exports);
2
+ // Note: We don't use wildcard exports to avoid naming conflicts between slices
3
+ // Individual slices can be imported directly where needed
19
4
  // Future slice exports will go here:
20
5
  // export * from "./entitiesSlice";
21
- // export * from "./listsSlice";
22
6
  // export * from "./commentsSlice";
23
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/store/slices/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iCAAiC;AACjC,0DAAwC;AAExC,qCAAqC;AACrC,mCAAmC;AACnC,gCAAgC;AAChC,mCAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/store/slices/index.ts"],"names":[],"mappings":";AAAA,+EAA+E;AAC/E,0DAA0D;AAE1D,qCAAqC;AACrC,mCAAmC;AACnC,mCAAmC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Safe way to check if we're in development mode
3
+ * Works with both Node.js process.env and Vite import.meta.env
4
+ */
5
+ export declare function isDevelopment(): boolean;
6
+ /**
7
+ * Safe way to check if we're in production mode
8
+ */
9
+ export declare function isProduction(): boolean;
10
+ /**
11
+ * Get API base URL from environment variables
12
+ * Supports both REACT_APP_ and VITE_ prefixes
13
+ */
14
+ export declare function getApiBaseUrl(): string;
15
+ /**
16
+ * Get any environment variable with fallback
17
+ * Tries both VITE_ and REACT_APP_ prefixes
18
+ */
19
+ export declare function getEnvVar(name: string, defaultValue?: string): string;
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ // Environment detection utility for cross-platform compatibility
3
+ // Works with both traditional React apps and Vite-based apps
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.isDevelopment = isDevelopment;
6
+ exports.isProduction = isProduction;
7
+ exports.getApiBaseUrl = getApiBaseUrl;
8
+ exports.getEnvVar = getEnvVar;
9
+ // Helper function to safely access Vite's import.meta.env
10
+ function getViteEnv() {
11
+ try {
12
+ // Use dynamic access to avoid TypeScript import.meta issues
13
+ var globalThis_ = globalThis;
14
+ if (typeof window !== 'undefined' && globalThis_.__vite_env) {
15
+ return globalThis_.__vite_env;
16
+ }
17
+ // Try to access import.meta via eval to avoid compile-time issues
18
+ if (typeof window !== 'undefined') {
19
+ try {
20
+ var importMeta = new Function('return typeof import !== "undefined" && import.meta')();
21
+ if (importMeta && importMeta.env) {
22
+ return importMeta.env;
23
+ }
24
+ }
25
+ catch (_a) {
26
+ // Ignore errors when import.meta is not available
27
+ }
28
+ }
29
+ return null;
30
+ }
31
+ catch (_b) {
32
+ return null;
33
+ }
34
+ }
35
+ /**
36
+ * Safe way to check if we're in development mode
37
+ * Works with both Node.js process.env and Vite import.meta.env
38
+ */
39
+ function isDevelopment() {
40
+ // Check if we have process.env (Node.js or bundler that provides it)
41
+ if (typeof process !== 'undefined' && process.env) {
42
+ return process.env.NODE_ENV === 'development';
43
+ }
44
+ // Check Vite environment
45
+ var viteEnv = getViteEnv();
46
+ if (viteEnv) {
47
+ return viteEnv.MODE === 'development';
48
+ }
49
+ // Fallback to false (assume production for safety)
50
+ return false;
51
+ }
52
+ /**
53
+ * Safe way to check if we're in production mode
54
+ */
55
+ function isProduction() {
56
+ // Check if we have process.env (Node.js or bundler that provides it)
57
+ if (typeof process !== 'undefined' && process.env) {
58
+ return process.env.NODE_ENV === 'production';
59
+ }
60
+ // Check Vite environment
61
+ var viteEnv = getViteEnv();
62
+ if (viteEnv) {
63
+ return viteEnv.MODE === 'production';
64
+ }
65
+ // Fallback to true (assume production for safety)
66
+ return true;
67
+ }
68
+ /**
69
+ * Get API base URL from environment variables
70
+ * Supports both REACT_APP_ and VITE_ prefixes
71
+ */
72
+ function getApiBaseUrl() {
73
+ // Check process.env (traditional React apps)
74
+ if (typeof process !== 'undefined' && process.env) {
75
+ return process.env.REACT_APP_API_BASE_URL || 'https://api.replyke.com/api/v5';
76
+ }
77
+ // Check Vite environment
78
+ var viteEnv = getViteEnv();
79
+ if (viteEnv) {
80
+ return viteEnv.VITE_API_BASE_URL || 'https://api.replyke.com/api/v5';
81
+ }
82
+ // Fallback to default
83
+ return 'https://api.replyke.com/api/v5';
84
+ }
85
+ /**
86
+ * Get any environment variable with fallback
87
+ * Tries both VITE_ and REACT_APP_ prefixes
88
+ */
89
+ function getEnvVar(name, defaultValue) {
90
+ if (defaultValue === void 0) { defaultValue = ''; }
91
+ // Check process.env
92
+ if (typeof process !== 'undefined' && process.env) {
93
+ return process.env["REACT_APP_".concat(name)] || process.env["VITE_".concat(name)] || defaultValue;
94
+ }
95
+ // Check Vite environment
96
+ var viteEnv = getViteEnv();
97
+ if (viteEnv) {
98
+ return viteEnv["VITE_".concat(name)] || viteEnv["REACT_APP_".concat(name)] || defaultValue;
99
+ }
100
+ return defaultValue;
101
+ }
102
+ //# sourceMappingURL=env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../../src/utils/env.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { KeywordsFilters } from "../interfaces/entity-filters/KeywordsFilters";
2
+ /**
3
+ * Helper utilities for managing keywords filters in entity lists
4
+ */
5
+ export declare const keywordHelpers: {
6
+ /**
7
+ * Add keywords to a specific filter type
8
+ */
9
+ addKeywords: (current: KeywordsFilters | null, type: "includes" | "doesNotInclude", values: string[]) => KeywordsFilters;
10
+ /**
11
+ * Remove keywords from a specific filter type
12
+ */
13
+ removeKeywords: (current: KeywordsFilters | null, type: "includes" | "doesNotInclude", values: string[]) => KeywordsFilters | null;
14
+ /**
15
+ * Remove keywords from both filter types
16
+ */
17
+ removeKeywordsFromBoth: (current: KeywordsFilters | null, values: string[]) => KeywordsFilters | null;
18
+ /**
19
+ * Reset keywords for a specific filter type
20
+ */
21
+ resetKeywords: (current: KeywordsFilters | null, type: "includes" | "doesNotInclude") => KeywordsFilters | null;
22
+ /**
23
+ * Reset all keywords filters
24
+ */
25
+ resetAllKeywords: () => null;
26
+ /**
27
+ * Replace keywords for a specific filter type
28
+ */
29
+ replaceKeywords: (current: KeywordsFilters | null, type: "includes" | "doesNotInclude", values: string[]) => KeywordsFilters | null;
30
+ };
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
14
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
15
+ if (ar || !(i in from)) {
16
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
17
+ ar[i] = from[i];
18
+ }
19
+ }
20
+ return to.concat(ar || Array.prototype.slice.call(from));
21
+ };
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.keywordHelpers = void 0;
24
+ /**
25
+ * Helper utilities for managing keywords filters in entity lists
26
+ */
27
+ exports.keywordHelpers = {
28
+ /**
29
+ * Add keywords to a specific filter type
30
+ */
31
+ addKeywords: function (current, type, values) {
32
+ var _a;
33
+ var existing = current || {};
34
+ return __assign(__assign({}, existing), (_a = {}, _a[type] = Array.from(new Set(__spreadArray(__spreadArray([], (existing[type] || []), true), values, true))), _a));
35
+ },
36
+ /**
37
+ * Remove keywords from a specific filter type
38
+ */
39
+ removeKeywords: function (current, type, values) {
40
+ var _a;
41
+ if (!current)
42
+ return null;
43
+ var updated = __assign(__assign({}, current), (_a = {}, _a[type] = (current[type] || []).filter(function (item) { return !values.includes(item); }), _a));
44
+ // Return null if both arrays are empty
45
+ if ((!updated.includes || updated.includes.length === 0) &&
46
+ (!updated.doesNotInclude || updated.doesNotInclude.length === 0)) {
47
+ return null;
48
+ }
49
+ return updated;
50
+ },
51
+ /**
52
+ * Remove keywords from both filter types
53
+ */
54
+ removeKeywordsFromBoth: function (current, values) {
55
+ if (!current)
56
+ return null;
57
+ var updated = {
58
+ includes: (current.includes || []).filter(function (item) { return !values.includes(item); }),
59
+ doesNotInclude: (current.doesNotInclude || []).filter(function (item) { return !values.includes(item); }),
60
+ };
61
+ // Return null if both arrays are empty
62
+ if (updated.includes.length === 0 && updated.doesNotInclude.length === 0) {
63
+ return null;
64
+ }
65
+ return updated;
66
+ },
67
+ /**
68
+ * Reset keywords for a specific filter type
69
+ */
70
+ resetKeywords: function (current, type) {
71
+ var _a;
72
+ if (!current)
73
+ return null;
74
+ var updated = __assign(__assign({}, current), (_a = {}, _a[type] = undefined, _a));
75
+ // Return null if both arrays are empty/undefined
76
+ if (!updated.includes && !updated.doesNotInclude) {
77
+ return null;
78
+ }
79
+ return updated;
80
+ },
81
+ /**
82
+ * Reset all keywords filters
83
+ */
84
+ resetAllKeywords: function () {
85
+ return null;
86
+ },
87
+ /**
88
+ * Replace keywords for a specific filter type
89
+ */
90
+ replaceKeywords: function (current, type, values) {
91
+ var _a;
92
+ var existing = current || {};
93
+ var updated = __assign(__assign({}, existing), (_a = {}, _a[type] = values.length > 0 ? values : undefined, _a));
94
+ // Return null if both arrays are empty/undefined
95
+ if (!updated.includes && !updated.doesNotInclude) {
96
+ return null;
97
+ }
98
+ return updated;
99
+ },
100
+ };
101
+ //# sourceMappingURL=keywordHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keywordHelpers.js","sourceRoot":"","sources":["../../../src/utils/keywordHelpers.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  export { ReplykeProvider } from "./replyke-context";
2
2
  export { ReplykeStoreProvider } from "./replyke-store-context";
3
- export { EntityListProvider } from "./entity-list-context";
4
3
  export { EntityProvider } from "./entity-context";
5
4
  export { CommentSectionProvider } from "./comment-section-context";
@@ -1,8 +1,5 @@
1
1
  export { ReplykeProvider } from "./replyke-context";
2
2
  export { ReplykeStoreProvider } from "./replyke-store-context";
3
- export { EntityListProvider } from "./entity-list-context";
4
3
  export { EntityProvider } from "./entity-context";
5
- // TODO: Create Redux-based ListsProvider
6
- // export { ListsProvider } from "../legacy/context/lists-context";
7
4
  export { CommentSectionProvider } from "./comment-section-context";
8
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/context/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,yCAAyC;AACzC,mEAAmE;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/context/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC"}
@@ -7,6 +7,4 @@ export { default as useFetchEntityByShortId } from "./useFetchEntityByShortId";
7
7
  export { default as useUpdateEntity } from "./useUpdateEntity";
8
8
  export { default as useEntityVotes } from "./useEntityVotes";
9
9
  export { default as useDeleteEntity } from "./useDeleteEntity";
10
- export { default as useEntityList } from "./useEntityList";
11
- export { default as useEntityListData } from "./useEntityListData";
12
- export { default as useInfusedData } from "./useInfusedData";
10
+ export { default as useInfusedData } from "../entity-lists/useInfusedData";
@@ -7,7 +7,5 @@ export { default as useFetchEntityByShortId } from "./useFetchEntityByShortId";
7
7
  export { default as useUpdateEntity } from "./useUpdateEntity";
8
8
  export { default as useEntityVotes } from "./useEntityVotes";
9
9
  export { default as useDeleteEntity } from "./useDeleteEntity";
10
- export { default as useEntityList } from "./useEntityList";
11
- export { default as useEntityListData } from "./useEntityListData";
12
- export { default as useInfusedData } from "./useInfusedData";
10
+ export { default as useInfusedData } from "../entity-lists/useInfusedData";
13
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/hooks/entities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAE/D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/hooks/entities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAE/D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,gCAAgC,CAAC"}