stream-chat 9.28.0 → 9.29.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.
- package/dist/cjs/index.browser.js +106 -9
- package/dist/cjs/index.browser.js.map +2 -2
- package/dist/cjs/index.node.js +106 -9
- package/dist/cjs/index.node.js.map +2 -2
- package/dist/esm/index.mjs +106 -9
- package/dist/esm/index.mjs.map +2 -2
- package/dist/types/channel.d.ts +3 -2
- package/dist/types/client.d.ts +51 -3
- package/dist/types/types.d.ts +73 -0
- package/package.json +1 -1
- package/src/channel.ts +4 -1
- package/src/client.ts +120 -10
- package/src/messageComposer/middleware/textComposer/textMiddlewareUtils.ts +5 -4
- package/src/types.ts +86 -0
package/dist/esm/index.mjs
CHANGED
|
@@ -5372,10 +5372,11 @@ var getTriggerCharWithToken = ({
|
|
|
5372
5372
|
isCommand = false,
|
|
5373
5373
|
acceptTrailingSpaces = true
|
|
5374
5374
|
}) => {
|
|
5375
|
-
const
|
|
5375
|
+
const escapedTrigger = escapeRegExp(trigger);
|
|
5376
|
+
const triggerNorWhitespace = `[^\\s${escapedTrigger}]*`;
|
|
5376
5377
|
const match = text.match(
|
|
5377
5378
|
new RegExp(
|
|
5378
|
-
isCommand ? `^[${
|
|
5379
|
+
isCommand ? `^[${escapedTrigger}]${triggerNorWhitespace}$` : acceptTrailingSpaces ? `(?!^|\\W)?[${escapedTrigger}]${triggerNorWhitespace}\\s?${triggerNorWhitespace}$` : `(?!^|\\W)?[${escapedTrigger}]${triggerNorWhitespace}$`,
|
|
5379
5380
|
"g"
|
|
5380
5381
|
)
|
|
5381
5382
|
);
|
|
@@ -9000,11 +9001,13 @@ var Channel = class {
|
|
|
9000
9001
|
* unbanUser - Removes the bans for a user on a channel
|
|
9001
9002
|
*
|
|
9002
9003
|
* @param {string} targetUserID
|
|
9004
|
+
* @param {UnBanUserOptions} options
|
|
9003
9005
|
* @returns {Promise<APIResponse>}
|
|
9004
9006
|
*/
|
|
9005
|
-
async unbanUser(targetUserID) {
|
|
9007
|
+
async unbanUser(targetUserID, options) {
|
|
9006
9008
|
this._checkInitialized();
|
|
9007
9009
|
return await this.getClient().unbanUser(targetUserID, {
|
|
9010
|
+
...options,
|
|
9008
9011
|
type: this.type,
|
|
9009
9012
|
id: this.id
|
|
9010
9013
|
});
|
|
@@ -13590,6 +13593,20 @@ var StreamChat = class _StreamChat {
|
|
|
13590
13593
|
}
|
|
13591
13594
|
});
|
|
13592
13595
|
}
|
|
13596
|
+
/**
|
|
13597
|
+
* queryFutureChannelBans - Query future channel bans created by a user
|
|
13598
|
+
*
|
|
13599
|
+
* @param {QueryFutureChannelBansOptions} options Option object with user_id, exclude_expired_bans, limit, offset
|
|
13600
|
+
* @returns {Promise<FutureChannelBansResponse>} Future Channel Bans Response
|
|
13601
|
+
*/
|
|
13602
|
+
async queryFutureChannelBans(options = {}) {
|
|
13603
|
+
return await this.get(
|
|
13604
|
+
this.baseURL + "/query_future_channel_bans",
|
|
13605
|
+
{
|
|
13606
|
+
payload: options
|
|
13607
|
+
}
|
|
13608
|
+
);
|
|
13609
|
+
}
|
|
13593
13610
|
/**
|
|
13594
13611
|
* queryMessageFlags - Query message flags
|
|
13595
13612
|
*
|
|
@@ -13609,10 +13626,10 @@ var StreamChat = class _StreamChat {
|
|
|
13609
13626
|
/**
|
|
13610
13627
|
* queryChannelsRequest - Queries channels and returns the raw response
|
|
13611
13628
|
*
|
|
13612
|
-
* @param {ChannelFilters} filterConditions object MongoDB style filters
|
|
13629
|
+
* @param {ChannelFilters} filterConditions object MongoDB style filters. Can be empty object when using predefined_filter in options.
|
|
13613
13630
|
* @param {ChannelSort} [sort] Sort options, for instance {created_at: -1}.
|
|
13614
13631
|
* When using multiple fields, make sure you use array of objects to guarantee field order, for instance [{last_updated: -1}, {created_at: 1}]
|
|
13615
|
-
* @param {ChannelOptions} [options] Options object
|
|
13632
|
+
* @param {ChannelOptions} [options] Options object. Can include predefined_filter, filter_values, and sort_values for using predefined filters.
|
|
13616
13633
|
*
|
|
13617
13634
|
* @return {Promise<Array<ChannelAPIResponse>>} search channels response
|
|
13618
13635
|
*/
|
|
@@ -13626,11 +13643,18 @@ var StreamChat = class _StreamChat {
|
|
|
13626
13643
|
if (!this._hasConnectionID()) {
|
|
13627
13644
|
defaultOptions.watch = false;
|
|
13628
13645
|
}
|
|
13629
|
-
const
|
|
13646
|
+
const { predefined_filter, filter_values, sort_values, ...restOptions } = options;
|
|
13647
|
+
const payload = predefined_filter ? {
|
|
13648
|
+
predefined_filter,
|
|
13649
|
+
filter_values,
|
|
13650
|
+
sort_values,
|
|
13651
|
+
...defaultOptions,
|
|
13652
|
+
...restOptions
|
|
13653
|
+
} : {
|
|
13630
13654
|
filter_conditions: filterConditions,
|
|
13631
13655
|
sort: normalizeQuerySort(sort),
|
|
13632
13656
|
...defaultOptions,
|
|
13633
|
-
...
|
|
13657
|
+
...restOptions
|
|
13634
13658
|
};
|
|
13635
13659
|
const data = await this.post(
|
|
13636
13660
|
this.baseURL + "/channels",
|
|
@@ -14737,7 +14761,7 @@ var StreamChat = class _StreamChat {
|
|
|
14737
14761
|
if (this.userAgent) {
|
|
14738
14762
|
return this.userAgent;
|
|
14739
14763
|
}
|
|
14740
|
-
const version = "9.
|
|
14764
|
+
const version = "9.29.0";
|
|
14741
14765
|
const clientBundle = "browser-esm";
|
|
14742
14766
|
let userAgentString = "";
|
|
14743
14767
|
if (this.sdkIdentifier) {
|
|
@@ -15053,7 +15077,7 @@ var StreamChat = class _StreamChat {
|
|
|
15053
15077
|
validateServerSideAuth() {
|
|
15054
15078
|
if (!this.secret) {
|
|
15055
15079
|
throw new Error(
|
|
15056
|
-
"
|
|
15080
|
+
"This feature can be used server-side only. Please initialize the client with a secret to use this feature."
|
|
15057
15081
|
);
|
|
15058
15082
|
}
|
|
15059
15083
|
}
|
|
@@ -15918,6 +15942,79 @@ var StreamChat = class _StreamChat {
|
|
|
15918
15942
|
payload
|
|
15919
15943
|
);
|
|
15920
15944
|
}
|
|
15945
|
+
/**
|
|
15946
|
+
* createPredefinedFilter - Creates a new predefined filter (server-side only)
|
|
15947
|
+
*
|
|
15948
|
+
* @param {CreatePredefinedFilterOptions} options Predefined filter options
|
|
15949
|
+
*
|
|
15950
|
+
* @return {Promise<PredefinedFilterResponse>} The created predefined filter
|
|
15951
|
+
*/
|
|
15952
|
+
async createPredefinedFilter(options) {
|
|
15953
|
+
this.validateServerSideAuth();
|
|
15954
|
+
return await this.post(
|
|
15955
|
+
`${this.baseURL}/predefined_filters`,
|
|
15956
|
+
options
|
|
15957
|
+
);
|
|
15958
|
+
}
|
|
15959
|
+
/**
|
|
15960
|
+
* getPredefinedFilter - Gets a predefined filter by name (server-side only)
|
|
15961
|
+
*
|
|
15962
|
+
* @param {string} name Predefined filter name
|
|
15963
|
+
*
|
|
15964
|
+
* @return {Promise<PredefinedFilterResponse>} The predefined filter
|
|
15965
|
+
*/
|
|
15966
|
+
async getPredefinedFilter(name) {
|
|
15967
|
+
this.validateServerSideAuth();
|
|
15968
|
+
return await this.get(
|
|
15969
|
+
`${this.baseURL}/predefined_filters/${encodeURIComponent(name)}`
|
|
15970
|
+
);
|
|
15971
|
+
}
|
|
15972
|
+
/**
|
|
15973
|
+
* updatePredefinedFilter - Updates a predefined filter (server-side only)
|
|
15974
|
+
*
|
|
15975
|
+
* @param {string} name Predefined filter name
|
|
15976
|
+
* @param {UpdatePredefinedFilterOptions} options Predefined filter options
|
|
15977
|
+
*
|
|
15978
|
+
* @return {Promise<PredefinedFilterResponse>} The updated predefined filter
|
|
15979
|
+
*/
|
|
15980
|
+
async updatePredefinedFilter(name, options) {
|
|
15981
|
+
this.validateServerSideAuth();
|
|
15982
|
+
return await this.put(
|
|
15983
|
+
`${this.baseURL}/predefined_filters/${encodeURIComponent(name)}`,
|
|
15984
|
+
options
|
|
15985
|
+
);
|
|
15986
|
+
}
|
|
15987
|
+
/**
|
|
15988
|
+
* deletePredefinedFilter - Deletes a predefined filter (server-side only)
|
|
15989
|
+
*
|
|
15990
|
+
* @param {string} name Predefined filter name
|
|
15991
|
+
*
|
|
15992
|
+
* @return {Promise<APIResponse>} The server response
|
|
15993
|
+
*/
|
|
15994
|
+
async deletePredefinedFilter(name) {
|
|
15995
|
+
this.validateServerSideAuth();
|
|
15996
|
+
return await this.delete(
|
|
15997
|
+
`${this.baseURL}/predefined_filters/${encodeURIComponent(name)}`
|
|
15998
|
+
);
|
|
15999
|
+
}
|
|
16000
|
+
/**
|
|
16001
|
+
* listPredefinedFilters - Lists all predefined filters (server-side only)
|
|
16002
|
+
*
|
|
16003
|
+
* @param {ListPredefinedFiltersOptions} options Query options
|
|
16004
|
+
*
|
|
16005
|
+
* @return {Promise<ListPredefinedFiltersResponse>} The list of predefined filters
|
|
16006
|
+
*/
|
|
16007
|
+
async listPredefinedFilters(options = {}) {
|
|
16008
|
+
this.validateServerSideAuth();
|
|
16009
|
+
const { sort, ...paginationOptions } = options;
|
|
16010
|
+
return await this.get(
|
|
16011
|
+
`${this.baseURL}/predefined_filters`,
|
|
16012
|
+
{
|
|
16013
|
+
...paginationOptions,
|
|
16014
|
+
...sort ? { sort: JSON.stringify(sort) } : {}
|
|
16015
|
+
}
|
|
16016
|
+
);
|
|
16017
|
+
}
|
|
15921
16018
|
};
|
|
15922
16019
|
|
|
15923
16020
|
// src/events.ts
|