@stream-io/feeds-client 0.3.4 → 0.3.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.
- package/CHANGELOG.md +14 -0
- package/dist/cjs/index.js +2 -7
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/react-bindings.js +1 -2
- package/dist/cjs/react-bindings.js.map +1 -1
- package/dist/es/index.mjs +5 -7
- package/dist/es/react-bindings.mjs +1 -2
- package/dist/es/react-bindings.mjs.map +1 -1
- package/dist/{feeds-client-HvoTzr-z.js → feeds-client-47vliZx_.js} +37 -13
- package/dist/feeds-client-47vliZx_.js.map +1 -0
- package/dist/{feeds-client-CNHZvctN.mjs → feeds-client-Cd2LsXp-.mjs} +38 -14
- package/dist/feeds-client-Cd2LsXp-.mjs.map +1 -0
- package/dist/types/common/ApiClient.d.ts.map +1 -1
- package/dist/types/common/EventDispatcher.d.ts.map +1 -1
- package/dist/types/common/TokenManager.d.ts.map +1 -1
- package/dist/types/common/real-time/StableWSConnection.d.ts.map +1 -1
- package/dist/types/feed/feed.d.ts +1 -0
- package/dist/types/feed/feed.d.ts.map +1 -1
- package/dist/types/utils/deep-equal.d.ts +2 -0
- package/dist/types/utils/deep-equal.d.ts.map +1 -0
- package/dist/types/utils/logger.d.ts +2 -64
- package/dist/types/utils/logger.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/common/ApiClient.ts +2 -2
- package/src/common/EventDispatcher.ts +2 -2
- package/src/common/TokenManager.ts +2 -2
- package/src/common/real-time/StableWSConnection.ts +2 -2
- package/src/feed/feed.ts +24 -1
- package/src/feeds-client/feeds-client.ts +2 -2
- package/src/utils/deep-equal.ts +22 -0
- package/src/utils/ensure-exhausted.ts +2 -2
- package/src/utils/logger.ts +3 -4
- package/dist/feeds-client-CNHZvctN.mjs.map +0 -1
- package/dist/feeds-client-HvoTzr-z.js.map +0 -1
|
@@ -2978,8 +2978,7 @@ class FeedsApi {
|
|
|
2978
2978
|
return { ...response.body, metadata: response.metadata };
|
|
2979
2979
|
}
|
|
2980
2980
|
}
|
|
2981
|
-
const
|
|
2982
|
-
const getLogger = loggerInternal.getLogger;
|
|
2981
|
+
const feedsLoggerSystem = loggerInternal.createLoggerSystem();
|
|
2983
2982
|
const sleep = (m) => new Promise((resolve) => setTimeout(resolve, m));
|
|
2984
2983
|
function isFunction(value) {
|
|
2985
2984
|
return value && (Object.prototype.toString.call(value) === "[object Function]" || typeof value === "function" || value instanceof Function);
|
|
@@ -3094,7 +3093,7 @@ const capitalize = (s) => {
|
|
|
3094
3093
|
};
|
|
3095
3094
|
class TokenManager {
|
|
3096
3095
|
constructor() {
|
|
3097
|
-
this.logger = getLogger("token-manager");
|
|
3096
|
+
this.logger = feedsLoggerSystem.getLogger("token-manager");
|
|
3098
3097
|
this.setTokenOrProvider = (tokenOrProvider) => {
|
|
3099
3098
|
if (isFunction(tokenOrProvider)) {
|
|
3100
3099
|
this.tokenProvider = tokenOrProvider;
|
|
@@ -3211,7 +3210,7 @@ class ConnectionIdManager {
|
|
|
3211
3210
|
class EventDispatcher {
|
|
3212
3211
|
constructor() {
|
|
3213
3212
|
this.subscribers = {};
|
|
3214
|
-
this.logger = getLogger("event-dispatcher");
|
|
3213
|
+
this.logger = feedsLoggerSystem.getLogger("event-dispatcher");
|
|
3215
3214
|
this.dispatch = (event) => {
|
|
3216
3215
|
const listeners = [
|
|
3217
3216
|
...this.subscribers[event.type] ?? [],
|
|
@@ -3256,7 +3255,7 @@ class StableWSConnection {
|
|
|
3256
3255
|
this.connectionIdManager = connectionIdManager;
|
|
3257
3256
|
this.decoders = decoders2;
|
|
3258
3257
|
this.dispatcher = new EventDispatcher();
|
|
3259
|
-
this.logger = getLogger("stable-ws-connection");
|
|
3258
|
+
this.logger = feedsLoggerSystem.getLogger("stable-ws-connection");
|
|
3260
3259
|
this.on = this.dispatcher.on;
|
|
3261
3260
|
this.off = this.dispatcher.off;
|
|
3262
3261
|
this.offAll = this.dispatcher.offAll;
|
|
@@ -3764,14 +3763,14 @@ const getRateLimitFromResponseHeader = (response_headers) => {
|
|
|
3764
3763
|
};
|
|
3765
3764
|
return result;
|
|
3766
3765
|
};
|
|
3767
|
-
const version = "0.3.
|
|
3766
|
+
const version = "0.3.6";
|
|
3768
3767
|
class ApiClient {
|
|
3769
3768
|
constructor(apiKey, tokenManager, connectionIdManager, options) {
|
|
3770
3769
|
this.apiKey = apiKey;
|
|
3771
3770
|
this.tokenManager = tokenManager;
|
|
3772
3771
|
this.connectionIdManager = connectionIdManager;
|
|
3773
3772
|
this.extraHeaderInformation = {};
|
|
3774
|
-
this.logger = getLogger("api-client");
|
|
3773
|
+
this.logger = feedsLoggerSystem.getLogger("api-client");
|
|
3775
3774
|
this.sendRequest = async (method, url, pathParams, queryParams, body, requestContentType) => {
|
|
3776
3775
|
queryParams = queryParams ?? {};
|
|
3777
3776
|
queryParams.api_key = this.apiKey;
|
|
@@ -4548,7 +4547,7 @@ const isVideoFile = (file) => {
|
|
|
4548
4547
|
return file.type.startsWith("video/");
|
|
4549
4548
|
};
|
|
4550
4549
|
const ensureExhausted = (x, message) => {
|
|
4551
|
-
getLogger("helpers").warn(message, x);
|
|
4550
|
+
feedsLoggerSystem.getLogger("helpers").warn(message, x);
|
|
4552
4551
|
};
|
|
4553
4552
|
const shouldUpdateState = ({
|
|
4554
4553
|
stateUpdateQueueId,
|
|
@@ -6059,6 +6058,21 @@ function handleActivityFeedback(event) {
|
|
|
6059
6058
|
});
|
|
6060
6059
|
}
|
|
6061
6060
|
}
|
|
6061
|
+
const deepEqual = (x, y) => {
|
|
6062
|
+
if (x === y) {
|
|
6063
|
+
return true;
|
|
6064
|
+
} else if (typeof x == "object" && x != null && typeof y == "object" && y != null) {
|
|
6065
|
+
if (Object.keys(x).length != Object.keys(y).length) return false;
|
|
6066
|
+
for (const prop in x) {
|
|
6067
|
+
if (Object.prototype.hasOwnProperty.call(y, prop)) {
|
|
6068
|
+
if (!deepEqual(x[prop], y[prop])) return false;
|
|
6069
|
+
} else return false;
|
|
6070
|
+
}
|
|
6071
|
+
return true;
|
|
6072
|
+
} else {
|
|
6073
|
+
return false;
|
|
6074
|
+
}
|
|
6075
|
+
};
|
|
6062
6076
|
const _Feed = class _Feed extends FeedApi {
|
|
6063
6077
|
constructor(client, groupId, id, data, watch = false, addNewActivitiesTo = "start", activityAddedEventFilter) {
|
|
6064
6078
|
super(client, groupId, id);
|
|
@@ -6166,10 +6180,14 @@ const _Feed = class _Feed extends FeedApi {
|
|
|
6166
6180
|
async synchronize() {
|
|
6167
6181
|
const { last_get_or_create_request_config } = this.state.getLatestValue();
|
|
6168
6182
|
if (last_get_or_create_request_config?.watch) {
|
|
6183
|
+
this.inProgressGetOrCreate = void 0;
|
|
6169
6184
|
await this.getOrCreate(last_get_or_create_request_config);
|
|
6170
6185
|
}
|
|
6171
6186
|
}
|
|
6172
6187
|
async getOrCreate(request) {
|
|
6188
|
+
if (!request?.next && this.inProgressGetOrCreate && deepEqual(request, this.inProgressGetOrCreate.request)) {
|
|
6189
|
+
return this.inProgressGetOrCreate.promise;
|
|
6190
|
+
}
|
|
6173
6191
|
if (this.currentState.is_loading_activities) {
|
|
6174
6192
|
throw new Error("Only one getOrCreate call is allowed at a time");
|
|
6175
6193
|
}
|
|
@@ -6178,7 +6196,11 @@ const _Feed = class _Feed extends FeedApi {
|
|
|
6178
6196
|
is_loading_activities: true
|
|
6179
6197
|
});
|
|
6180
6198
|
try {
|
|
6181
|
-
const
|
|
6199
|
+
const responsePromise = super.getOrCreate(request);
|
|
6200
|
+
if (!request?.next) {
|
|
6201
|
+
this.inProgressGetOrCreate = { request, promise: responsePromise };
|
|
6202
|
+
}
|
|
6203
|
+
const response = await responsePromise;
|
|
6182
6204
|
const currentActivityFeeds = [];
|
|
6183
6205
|
for (const activity of response.activities) {
|
|
6184
6206
|
if (activity.current_feed) {
|
|
@@ -6250,6 +6272,9 @@ const _Feed = class _Feed extends FeedApi {
|
|
|
6250
6272
|
is_loading: false,
|
|
6251
6273
|
is_loading_activities: false
|
|
6252
6274
|
});
|
|
6275
|
+
if (!request?.next) {
|
|
6276
|
+
this.inProgressGetOrCreate = void 0;
|
|
6277
|
+
}
|
|
6253
6278
|
}
|
|
6254
6279
|
}
|
|
6255
6280
|
/**
|
|
@@ -7052,7 +7077,7 @@ class FeedsClient extends FeedsApi {
|
|
|
7052
7077
|
this.connectionIdManager = connectionIdManager;
|
|
7053
7078
|
this.polls_by_id = /* @__PURE__ */ new Map();
|
|
7054
7079
|
this.query_batch_own_capabilties_throttling_interval = options?.query_batch_own_capabilties_throttling_interval ?? DEFAULT_BATCH_OWN_CAPABILITIES_THROTTLING_INTERVAL;
|
|
7055
|
-
configureLoggers(options?.configure_loggers_options);
|
|
7080
|
+
feedsLoggerSystem.configureLoggers(options?.configure_loggers_options);
|
|
7056
7081
|
this.on("all", (event) => {
|
|
7057
7082
|
const fid = event.fid;
|
|
7058
7083
|
const feed = typeof fid === "string" ? this.activeFeeds[fid] : void 0;
|
|
@@ -7308,11 +7333,10 @@ export {
|
|
|
7308
7333
|
isVideoFile as j,
|
|
7309
7334
|
getStateUpdateQueueId as k,
|
|
7310
7335
|
updateEntityInArray as l,
|
|
7311
|
-
|
|
7312
|
-
|
|
7313
|
-
ensureExhausted as o,
|
|
7336
|
+
feedsLoggerSystem as m,
|
|
7337
|
+
ensureExhausted as n,
|
|
7314
7338
|
replaceUniqueArrayMerge as r,
|
|
7315
7339
|
shouldUpdateState as s,
|
|
7316
7340
|
uniqueArrayMerge as u
|
|
7317
7341
|
};
|
|
7318
|
-
//# sourceMappingURL=feeds-client-
|
|
7342
|
+
//# sourceMappingURL=feeds-client-Cd2LsXp-.mjs.map
|