@sendbird/uikit-utils 2.4.1 → 2.5.0-rc.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 (78) hide show
  1. package/README.md +1 -1
  2. package/lib/commonjs/hooks/index.js +12 -31
  3. package/lib/commonjs/hooks/index.js.map +1 -1
  4. package/lib/commonjs/hooks/react-native.js +2 -11
  5. package/lib/commonjs/hooks/react-native.js.map +1 -1
  6. package/lib/commonjs/index.js +16 -45
  7. package/lib/commonjs/index.js.map +1 -1
  8. package/lib/commonjs/sendbird/attrs.js +8 -11
  9. package/lib/commonjs/sendbird/attrs.js.map +1 -1
  10. package/lib/commonjs/sendbird/channel.js +0 -16
  11. package/lib/commonjs/sendbird/channel.js.map +1 -1
  12. package/lib/commonjs/sendbird/message.js +13 -34
  13. package/lib/commonjs/sendbird/message.js.map +1 -1
  14. package/lib/commonjs/sendbird/user.js +0 -2
  15. package/lib/commonjs/sendbird/user.js.map +1 -1
  16. package/lib/commonjs/shared/arrayToMap.js +0 -6
  17. package/lib/commonjs/shared/arrayToMap.js.map +1 -1
  18. package/lib/commonjs/shared/bufferedRequest.js +5 -26
  19. package/lib/commonjs/shared/bufferedRequest.js.map +1 -1
  20. package/lib/commonjs/shared/file.js +11 -28
  21. package/lib/commonjs/shared/file.js.map +1 -1
  22. package/lib/commonjs/shared/index.js +3 -7
  23. package/lib/commonjs/shared/index.js.map +1 -1
  24. package/lib/commonjs/shared/logger.js +3 -22
  25. package/lib/commonjs/shared/logger.js.map +1 -1
  26. package/lib/commonjs/shared/regex.js +2 -9
  27. package/lib/commonjs/shared/regex.js.map +1 -1
  28. package/lib/commonjs/types.js.map +1 -1
  29. package/lib/commonjs/ui-format/common.js +62 -18
  30. package/lib/commonjs/ui-format/common.js.map +1 -1
  31. package/lib/commonjs/ui-format/groupChannel.js +2 -48
  32. package/lib/commonjs/ui-format/groupChannel.js.map +1 -1
  33. package/lib/commonjs/ui-format/openChannel.js +0 -4
  34. package/lib/commonjs/ui-format/openChannel.js.map +1 -1
  35. package/lib/module/hooks/index.js +10 -7
  36. package/lib/module/hooks/index.js.map +1 -1
  37. package/lib/module/hooks/react-native.js +2 -2
  38. package/lib/module/hooks/react-native.js.map +1 -1
  39. package/lib/module/index.js +5 -3
  40. package/lib/module/index.js.map +1 -1
  41. package/lib/module/sendbird/attrs.js +6 -9
  42. package/lib/module/sendbird/attrs.js.map +1 -1
  43. package/lib/module/sendbird/channel.js +0 -1
  44. package/lib/module/sendbird/channel.js.map +1 -1
  45. package/lib/module/sendbird/message.js +12 -17
  46. package/lib/module/sendbird/message.js.map +1 -1
  47. package/lib/module/sendbird/user.js.map +1 -1
  48. package/lib/module/shared/arrayToMap.js +0 -4
  49. package/lib/module/shared/arrayToMap.js.map +1 -1
  50. package/lib/module/shared/bufferedRequest.js +5 -24
  51. package/lib/module/shared/bufferedRequest.js.map +1 -1
  52. package/lib/module/shared/file.js +11 -16
  53. package/lib/module/shared/file.js.map +1 -1
  54. package/lib/module/shared/index.js +3 -3
  55. package/lib/module/shared/index.js.map +1 -1
  56. package/lib/module/shared/logger.js +3 -21
  57. package/lib/module/shared/logger.js.map +1 -1
  58. package/lib/module/shared/regex.js +3 -2
  59. package/lib/module/shared/regex.js.map +1 -1
  60. package/lib/module/types.js.map +1 -1
  61. package/lib/module/ui-format/common.js +60 -10
  62. package/lib/module/ui-format/common.js.map +1 -1
  63. package/lib/module/ui-format/groupChannel.js +3 -41
  64. package/lib/module/ui-format/groupChannel.js.map +1 -1
  65. package/lib/module/ui-format/openChannel.js.map +1 -1
  66. package/lib/typescript/src/hooks/index.d.ts +1 -0
  67. package/lib/typescript/src/index.d.ts +5 -4
  68. package/lib/typescript/src/sendbird/message.d.ts +8 -1
  69. package/lib/typescript/src/types.d.ts +2 -1
  70. package/lib/typescript/src/ui-format/common.d.ts +13 -0
  71. package/lib/typescript/src/ui-format/groupChannel.d.ts +1 -1
  72. package/package.json +11 -8
  73. package/src/hooks/index.ts +10 -0
  74. package/src/index.ts +5 -52
  75. package/src/sendbird/message.ts +12 -0
  76. package/src/types.ts +2 -0
  77. package/src/ui-format/common.ts +53 -1
  78. package/src/ui-format/groupChannel.ts +4 -30
@@ -3,15 +3,14 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.truncatedCount = exports.truncate = exports.getMessageTimeFormat = exports.getDateSeparatorFormat = void 0;
7
-
6
+ exports.truncatedCount = exports.truncate = exports.getMessageTimeFormat = exports.getMessagePreviewTitle = exports.getMessagePreviewTime = exports.getMessagePreviewBody = exports.getDateSeparatorFormat = void 0;
8
7
  var _dateFns = require("date-fns");
9
-
10
8
  const defaultOpts = {
11
9
  mode: 'mid',
12
10
  maxLen: 40,
13
11
  separator: '...'
14
12
  };
13
+
15
14
  /**
16
15
  * String truncate util
17
16
  * @param {string} str
@@ -21,10 +20,10 @@ const defaultOpts = {
21
20
  * @param {string} opts.separator default "..."
22
21
  * @returns {string}
23
22
  * */
24
-
25
23
  const truncate = function (str) {
26
24
  let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultOpts;
27
- const options = { ...defaultOpts,
25
+ const options = {
26
+ ...defaultOpts,
28
27
  ...opts
29
28
  };
30
29
  const {
@@ -33,23 +32,20 @@ const truncate = function (str) {
33
32
  separator
34
33
  } = options;
35
34
  if (str.length <= maxLen) return str;
36
-
37
35
  if (mode === 'head') {
38
36
  return separator + str.slice(-maxLen);
39
37
  }
40
-
41
38
  if (mode === 'mid') {
42
39
  const lead = Math.ceil(maxLen / 2);
43
40
  const trail = Math.floor(maxLen / 2);
44
41
  return str.slice(0, lead) + separator + str.slice(-trail);
45
42
  }
46
-
47
43
  if (mode === 'tail') {
48
44
  return str.slice(0, maxLen) + separator;
49
45
  }
50
-
51
46
  throw new Error('Invalid truncate mode: ' + mode);
52
47
  };
48
+
53
49
  /**
54
50
  * Count truncate util
55
51
  * If count exceed the limit, it comes in the form of "MAX+"
@@ -59,16 +55,14 @@ const truncate = function (str) {
59
55
  * @param {string} MAX_SUFFIX default +
60
56
  * @returns {string}
61
57
  * */
62
-
63
-
64
58
  exports.truncate = truncate;
65
-
66
59
  const truncatedCount = function (count) {
67
60
  let MAX = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 99;
68
61
  let MAX_SUFFIX = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '+';
69
62
  if (count >= MAX) return `${MAX}${MAX_SUFFIX}`;
70
63
  return `${count}`;
71
64
  };
65
+
72
66
  /**
73
67
  * Messages date separator format
74
68
  *
@@ -76,10 +70,7 @@ const truncatedCount = function (count) {
76
70
  * @param {Locale} [locale]
77
71
  * @returns {string}
78
72
  * */
79
-
80
-
81
73
  exports.truncatedCount = truncatedCount;
82
-
83
74
  const getDateSeparatorFormat = (date, locale) => {
84
75
  if ((0, _dateFns.isThisYear)(date)) return (0, _dateFns.format)(date, 'MMM dd, yyyy', {
85
76
  locale
@@ -88,6 +79,7 @@ const getDateSeparatorFormat = (date, locale) => {
88
79
  locale
89
80
  });
90
81
  };
82
+
91
83
  /**
92
84
  * Message time format
93
85
  *
@@ -95,15 +87,67 @@ const getDateSeparatorFormat = (date, locale) => {
95
87
  * @param {Locale} [locale]
96
88
  * @returns {string}
97
89
  * */
98
-
99
-
100
90
  exports.getDateSeparatorFormat = getDateSeparatorFormat;
101
-
102
91
  const getMessageTimeFormat = (date, locale) => {
103
92
  return (0, _dateFns.format)(date, 'p', {
104
93
  locale
105
94
  });
106
95
  };
107
96
 
97
+ /**
98
+ * Message preview title text
99
+ * */
108
100
  exports.getMessageTimeFormat = getMessageTimeFormat;
101
+ const getMessagePreviewTitle = function (message) {
102
+ let EMPTY_USERNAME = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '(No name)';
103
+ if (message.isFileMessage() || message.isUserMessage()) {
104
+ return message.sender.nickname || EMPTY_USERNAME;
105
+ }
106
+ if (message.isAdminMessage()) {
107
+ return 'Admin';
108
+ }
109
+ return EMPTY_USERNAME;
110
+ };
111
+
112
+ /**
113
+ * Message preview body text
114
+ * */
115
+ exports.getMessagePreviewTitle = getMessagePreviewTitle;
116
+ const getMessagePreviewBody = function (message) {
117
+ let EMPTY_MESSAGE = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
118
+ if (message.isFileMessage()) {
119
+ const extIdx = message.name.lastIndexOf('.');
120
+ if (extIdx > -1) {
121
+ const file = message.name.slice(0, extIdx);
122
+ const ext = message.name.slice(extIdx);
123
+ return file + ext;
124
+ }
125
+ return message.name;
126
+ }
127
+ if (message.isUserMessage()) {
128
+ return message.message ?? EMPTY_MESSAGE;
129
+ }
130
+ if (message.isAdminMessage()) {
131
+ return message.message ?? EMPTY_MESSAGE;
132
+ }
133
+ return EMPTY_MESSAGE;
134
+ };
135
+
136
+ /**
137
+ * Message preview time format
138
+ * */
139
+ exports.getMessagePreviewBody = getMessagePreviewBody;
140
+ const getMessagePreviewTime = (timestamp, locale) => {
141
+ if ((0, _dateFns.isToday)(timestamp)) return (0, _dateFns.format)(timestamp, 'p', {
142
+ locale
143
+ });
144
+ if ((0, _dateFns.isYesterday)(timestamp)) return 'Yesterday';
145
+ if ((0, _dateFns.isThisYear)(timestamp)) return (0, _dateFns.format)(timestamp, 'MMM dd', {
146
+ locale
147
+ });
148
+ return (0, _dateFns.format)(timestamp, 'yyyy/MM/dd', {
149
+ locale
150
+ });
151
+ };
152
+ exports.getMessagePreviewTime = getMessagePreviewTime;
109
153
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["defaultOpts","mode","maxLen","separator","truncate","str","opts","options","length","slice","lead","Math","ceil","trail","floor","Error","truncatedCount","count","MAX","MAX_SUFFIX","getDateSeparatorFormat","date","locale","isThisYear","format","getMessageTimeFormat"],"sources":["common.ts"],"sourcesContent":["import type { Locale } from 'date-fns';\nimport { format, isThisYear } from 'date-fns';\n\ntype TruncateMode = 'head' | 'mid' | 'tail';\ntype TruncateOption = { mode: TruncateMode; maxLen: number; separator: string };\nconst defaultOpts: TruncateOption = { mode: 'mid', maxLen: 40, separator: '...' };\n\n/**\n * String truncate util\n * @param {string} str\n * @param {Object} opts Options for truncate\n * @param {'head' | 'mid' | 'tail'} opts.mode default \"mid\"\n * @param {number} opts.maxLen default 40\n * @param {string} opts.separator default \"...\"\n * @returns {string}\n * */\nexport const truncate = (str: string, opts: Partial<TruncateOption> = defaultOpts): string => {\n const options = { ...defaultOpts, ...opts };\n const { maxLen, mode, separator } = options;\n\n if (str.length <= maxLen) return str;\n\n if (mode === 'head') {\n return separator + str.slice(-maxLen);\n }\n\n if (mode === 'mid') {\n const lead = Math.ceil(maxLen / 2);\n const trail = Math.floor(maxLen / 2);\n return str.slice(0, lead) + separator + str.slice(-trail);\n }\n\n if (mode === 'tail') {\n return str.slice(0, maxLen) + separator;\n }\n\n throw new Error('Invalid truncate mode: ' + mode);\n};\n\n/**\n * Count truncate util\n * If count exceed the limit, it comes in the form of \"MAX+\"\n *\n * @param {number} count\n * @param {number} MAX default 99\n * @param {string} MAX_SUFFIX default +\n * @returns {string}\n * */\nexport const truncatedCount = (count: number, MAX = 99, MAX_SUFFIX = '+') => {\n if (count >= MAX) return `${MAX}${MAX_SUFFIX}`;\n return `${count}`;\n};\n\n/**\n * Messages date separator format\n *\n * @param {Date} date\n * @param {Locale} [locale]\n * @returns {string}\n * */\nexport const getDateSeparatorFormat = (date: Date, locale?: Locale): string => {\n if (isThisYear(date)) return format(date, 'MMM dd, yyyy', { locale });\n return format(date, 'E, MMM dd', { locale });\n};\n\n/**\n * Message time format\n *\n * @param {Date} date\n * @param {Locale} [locale]\n * @returns {string}\n * */\nexport const getMessageTimeFormat = (date: Date, locale?: Locale): string => {\n return format(date, 'p', { locale });\n};\n"],"mappings":";;;;;;;AACA;;AAIA,MAAMA,WAA2B,GAAG;EAAEC,IAAI,EAAE,KAAR;EAAeC,MAAM,EAAE,EAAvB;EAA2BC,SAAS,EAAE;AAAtC,CAApC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,MAAMC,QAAQ,GAAG,UAACC,GAAD,EAAsE;EAAA,IAAxDC,IAAwD,uEAAxBN,WAAwB;EAC5F,MAAMO,OAAO,GAAG,EAAE,GAAGP,WAAL;IAAkB,GAAGM;EAArB,CAAhB;EACA,MAAM;IAAEJ,MAAF;IAAUD,IAAV;IAAgBE;EAAhB,IAA8BI,OAApC;EAEA,IAAIF,GAAG,CAACG,MAAJ,IAAcN,MAAlB,EAA0B,OAAOG,GAAP;;EAE1B,IAAIJ,IAAI,KAAK,MAAb,EAAqB;IACnB,OAAOE,SAAS,GAAGE,GAAG,CAACI,KAAJ,CAAU,CAACP,MAAX,CAAnB;EACD;;EAED,IAAID,IAAI,KAAK,KAAb,EAAoB;IAClB,MAAMS,IAAI,GAAGC,IAAI,CAACC,IAAL,CAAUV,MAAM,GAAG,CAAnB,CAAb;IACA,MAAMW,KAAK,GAAGF,IAAI,CAACG,KAAL,CAAWZ,MAAM,GAAG,CAApB,CAAd;IACA,OAAOG,GAAG,CAACI,KAAJ,CAAU,CAAV,EAAaC,IAAb,IAAqBP,SAArB,GAAiCE,GAAG,CAACI,KAAJ,CAAU,CAACI,KAAX,CAAxC;EACD;;EAED,IAAIZ,IAAI,KAAK,MAAb,EAAqB;IACnB,OAAOI,GAAG,CAACI,KAAJ,CAAU,CAAV,EAAaP,MAAb,IAAuBC,SAA9B;EACD;;EAED,MAAM,IAAIY,KAAJ,CAAU,4BAA4Bd,IAAtC,CAAN;AACD,CArBM;AAuBP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AACO,MAAMe,cAAc,GAAG,UAACC,KAAD,EAA+C;EAAA,IAA/BC,GAA+B,uEAAzB,EAAyB;EAAA,IAArBC,UAAqB,uEAAR,GAAQ;EAC3E,IAAIF,KAAK,IAAIC,GAAb,EAAkB,OAAQ,GAAEA,GAAI,GAAEC,UAAW,EAA3B;EAClB,OAAQ,GAAEF,KAAM,EAAhB;AACD,CAHM;AAKP;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AACO,MAAMG,sBAAsB,GAAG,CAACC,IAAD,EAAaC,MAAb,KAAyC;EAC7E,IAAI,IAAAC,mBAAA,EAAWF,IAAX,CAAJ,EAAsB,OAAO,IAAAG,eAAA,EAAOH,IAAP,EAAa,cAAb,EAA6B;IAAEC;EAAF,CAA7B,CAAP;EACtB,OAAO,IAAAE,eAAA,EAAOH,IAAP,EAAa,WAAb,EAA0B;IAAEC;EAAF,CAA1B,CAAP;AACD,CAHM;AAKP;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AACO,MAAMG,oBAAoB,GAAG,CAACJ,IAAD,EAAaC,MAAb,KAAyC;EAC3E,OAAO,IAAAE,eAAA,EAAOH,IAAP,EAAa,GAAb,EAAkB;IAAEC;EAAF,CAAlB,CAAP;AACD,CAFM"}
1
+ {"version":3,"names":["_dateFns","require","defaultOpts","mode","maxLen","separator","truncate","str","opts","arguments","length","undefined","options","slice","lead","Math","ceil","trail","floor","Error","exports","truncatedCount","count","MAX","MAX_SUFFIX","getDateSeparatorFormat","date","locale","isThisYear","format","getMessageTimeFormat","getMessagePreviewTitle","message","EMPTY_USERNAME","isFileMessage","isUserMessage","sender","nickname","isAdminMessage","getMessagePreviewBody","EMPTY_MESSAGE","extIdx","name","lastIndexOf","file","ext","getMessagePreviewTime","timestamp","isToday","isYesterday"],"sources":["common.ts"],"sourcesContent":["import type { Locale } from 'date-fns';\nimport { format, isThisYear, isToday, isYesterday } from 'date-fns';\n\nimport type { SendbirdBaseMessage } from '../types';\n\ntype TruncateMode = 'head' | 'mid' | 'tail';\ntype TruncateOption = { mode: TruncateMode; maxLen: number; separator: string };\nconst defaultOpts: TruncateOption = { mode: 'mid', maxLen: 40, separator: '...' };\n\n/**\n * String truncate util\n * @param {string} str\n * @param {Object} opts Options for truncate\n * @param {'head' | 'mid' | 'tail'} opts.mode default \"mid\"\n * @param {number} opts.maxLen default 40\n * @param {string} opts.separator default \"...\"\n * @returns {string}\n * */\nexport const truncate = (str: string, opts: Partial<TruncateOption> = defaultOpts): string => {\n const options = { ...defaultOpts, ...opts };\n const { maxLen, mode, separator } = options;\n\n if (str.length <= maxLen) return str;\n\n if (mode === 'head') {\n return separator + str.slice(-maxLen);\n }\n\n if (mode === 'mid') {\n const lead = Math.ceil(maxLen / 2);\n const trail = Math.floor(maxLen / 2);\n return str.slice(0, lead) + separator + str.slice(-trail);\n }\n\n if (mode === 'tail') {\n return str.slice(0, maxLen) + separator;\n }\n\n throw new Error('Invalid truncate mode: ' + mode);\n};\n\n/**\n * Count truncate util\n * If count exceed the limit, it comes in the form of \"MAX+\"\n *\n * @param {number} count\n * @param {number} MAX default 99\n * @param {string} MAX_SUFFIX default +\n * @returns {string}\n * */\nexport const truncatedCount = (count: number, MAX = 99, MAX_SUFFIX = '+') => {\n if (count >= MAX) return `${MAX}${MAX_SUFFIX}`;\n return `${count}`;\n};\n\n/**\n * Messages date separator format\n *\n * @param {Date} date\n * @param {Locale} [locale]\n * @returns {string}\n * */\nexport const getDateSeparatorFormat = (date: Date, locale?: Locale): string => {\n if (isThisYear(date)) return format(date, 'MMM dd, yyyy', { locale });\n return format(date, 'E, MMM dd', { locale });\n};\n\n/**\n * Message time format\n *\n * @param {Date} date\n * @param {Locale} [locale]\n * @returns {string}\n * */\nexport const getMessageTimeFormat = (date: Date, locale?: Locale): string => {\n return format(date, 'p', { locale });\n};\n\n/**\n * Message preview title text\n * */\nexport const getMessagePreviewTitle = (message: SendbirdBaseMessage, EMPTY_USERNAME = '(No name)') => {\n if (message.isFileMessage() || message.isUserMessage()) {\n return message.sender.nickname || EMPTY_USERNAME;\n }\n if (message.isAdminMessage()) {\n return 'Admin';\n }\n return EMPTY_USERNAME;\n};\n\n/**\n * Message preview body text\n * */\nexport const getMessagePreviewBody = (message: SendbirdBaseMessage, EMPTY_MESSAGE = '') => {\n if (message.isFileMessage()) {\n const extIdx = message.name.lastIndexOf('.');\n if (extIdx > -1) {\n const file = message.name.slice(0, extIdx);\n const ext = message.name.slice(extIdx);\n return file + ext;\n }\n\n return message.name;\n }\n\n if (message.isUserMessage()) {\n return message.message ?? EMPTY_MESSAGE;\n }\n\n if (message.isAdminMessage()) {\n return message.message ?? EMPTY_MESSAGE;\n }\n\n return EMPTY_MESSAGE;\n};\n\n/**\n * Message preview time format\n * */\nexport const getMessagePreviewTime = (timestamp: number, locale?: Locale) => {\n if (isToday(timestamp)) return format(timestamp, 'p', { locale });\n if (isYesterday(timestamp)) return 'Yesterday';\n if (isThisYear(timestamp)) return format(timestamp, 'MMM dd', { locale });\n\n return format(timestamp, 'yyyy/MM/dd', { locale });\n};\n"],"mappings":"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"}
@@ -4,11 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.getGroupChannelTitle = exports.getGroupChannelPreviewTime = exports.getGroupChannelLastMessage = void 0;
7
-
8
- var _dateFns = require("date-fns");
9
-
10
7
  var _common = require("./common");
11
-
12
8
  const getGroupChannelTitle = function (currentUserId, channel) {
13
9
  let EMPTY_USERNAME = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '(No name)';
14
10
  let NO_MEMBERS = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '(No members)';
@@ -27,59 +23,17 @@ const getGroupChannelTitle = function (currentUserId, channel) {
27
23
  return nickname || EMPTY_USERNAME;
28
24
  }).join(', ');
29
25
  };
30
-
31
26
  exports.getGroupChannelTitle = getGroupChannelTitle;
32
-
33
27
  const getGroupChannelPreviewTime = (channel, locale) => {
34
28
  var _channel$lastMessage;
35
-
36
- const timestamp = ((_channel$lastMessage = channel.lastMessage) === null || _channel$lastMessage === void 0 ? void 0 : _channel$lastMessage.createdAt) || channel.joinedAt * 1000 || channel.createdAt;
37
- if ((0, _dateFns.isToday)(timestamp)) return (0, _dateFns.format)(timestamp, 'p', {
38
- locale
39
- });
40
- if ((0, _dateFns.isYesterday)(timestamp)) return 'Yesterday';
41
- if ((0, _dateFns.isThisYear)(timestamp)) return (0, _dateFns.format)(timestamp, 'MMM dd', {
42
- locale
43
- });
44
- return (0, _dateFns.format)(timestamp, 'yyyy/MM/dd', {
45
- locale
46
- });
29
+ return (0, _common.getMessagePreviewTime)(((_channel$lastMessage = channel.lastMessage) === null || _channel$lastMessage === void 0 ? void 0 : _channel$lastMessage.createdAt) || channel.joinedAt * 1000 || channel.createdAt, locale);
47
30
  };
48
-
49
31
  exports.getGroupChannelPreviewTime = getGroupChannelPreviewTime;
50
-
51
32
  const getGroupChannelLastMessage = function (channel) {
52
33
  let EMPTY_MESSAGE = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
53
- let MAX_LEN = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 15;
54
34
  const message = channel.lastMessage;
55
35
  if (!message) return EMPTY_MESSAGE;
56
-
57
- if (message.isFileMessage()) {
58
- const extIdx = message.name.lastIndexOf('.');
59
-
60
- if (extIdx > -1) {
61
- const file = message.name.slice(0, extIdx);
62
- const ext = message.name.slice(extIdx);
63
- return (0, _common.truncate)(file, {
64
- maxLen: MAX_LEN
65
- }) + ext;
66
- }
67
-
68
- return (0, _common.truncate)(message.name, {
69
- maxLen: MAX_LEN
70
- });
71
- }
72
-
73
- if (message.isUserMessage()) {
74
- return message.message ?? EMPTY_MESSAGE;
75
- }
76
-
77
- if (message.isAdminMessage()) {
78
- return message.message ?? EMPTY_MESSAGE;
79
- }
80
-
81
- return EMPTY_MESSAGE;
36
+ return (0, _common.getMessagePreviewBody)(message, EMPTY_MESSAGE);
82
37
  };
83
-
84
38
  exports.getGroupChannelLastMessage = getGroupChannelLastMessage;
85
39
  //# sourceMappingURL=groupChannel.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["getGroupChannelTitle","currentUserId","channel","EMPTY_USERNAME","NO_MEMBERS","DEFAULT_CHANNEL_NAME","name","memberCount","members","filter","userId","map","nickname","join","getGroupChannelPreviewTime","locale","timestamp","lastMessage","createdAt","joinedAt","isToday","format","isYesterday","isThisYear","getGroupChannelLastMessage","EMPTY_MESSAGE","MAX_LEN","message","isFileMessage","extIdx","lastIndexOf","file","slice","ext","truncate","maxLen","isUserMessage","isAdminMessage"],"sources":["groupChannel.ts"],"sourcesContent":["import type { Locale } from 'date-fns';\nimport { format, isThisYear, isToday, isYesterday } from 'date-fns';\n\nimport type { SendbirdGroupChannel } from '../types';\nimport { truncate } from './common';\n\nexport const getGroupChannelTitle = (\n currentUserId: string,\n channel: SendbirdGroupChannel,\n EMPTY_USERNAME = '(No name)',\n NO_MEMBERS = '(No members)',\n DEFAULT_CHANNEL_NAME = 'Group Channel',\n) => {\n if (channel.name !== DEFAULT_CHANNEL_NAME && channel.name !== '') return channel.name;\n if (channel.memberCount === 1) return NO_MEMBERS;\n return channel.members\n .filter(({ userId }) => userId !== currentUserId)\n .map(({ nickname }) => nickname || EMPTY_USERNAME)\n .join(', ');\n};\n\nexport const getGroupChannelPreviewTime = (channel: SendbirdGroupChannel, locale?: Locale) => {\n const timestamp = channel.lastMessage?.createdAt || channel.joinedAt * 1000 || channel.createdAt;\n\n if (isToday(timestamp)) return format(timestamp, 'p', { locale });\n if (isYesterday(timestamp)) return 'Yesterday';\n if (isThisYear(timestamp)) return format(timestamp, 'MMM dd', { locale });\n\n return format(timestamp, 'yyyy/MM/dd', { locale });\n};\n\nexport const getGroupChannelLastMessage = (channel: SendbirdGroupChannel, EMPTY_MESSAGE = '', MAX_LEN = 15) => {\n const message = channel.lastMessage;\n if (!message) return EMPTY_MESSAGE;\n\n if (message.isFileMessage()) {\n const extIdx = message.name.lastIndexOf('.');\n if (extIdx > -1) {\n const file = message.name.slice(0, extIdx);\n const ext = message.name.slice(extIdx);\n return truncate(file, { maxLen: MAX_LEN }) + ext;\n }\n\n return truncate(message.name, { maxLen: MAX_LEN });\n }\n\n if (message.isUserMessage()) {\n return message.message ?? EMPTY_MESSAGE;\n }\n\n if (message.isAdminMessage()) {\n return message.message ?? EMPTY_MESSAGE;\n }\n\n return EMPTY_MESSAGE;\n};\n"],"mappings":";;;;;;;AACA;;AAGA;;AAEO,MAAMA,oBAAoB,GAAG,UAClCC,aADkC,EAElCC,OAFkC,EAM/B;EAAA,IAHHC,cAGG,uEAHc,WAGd;EAAA,IAFHC,UAEG,uEAFU,cAEV;EAAA,IADHC,oBACG,uEADoB,eACpB;EACH,IAAIH,OAAO,CAACI,IAAR,KAAiBD,oBAAjB,IAAyCH,OAAO,CAACI,IAAR,KAAiB,EAA9D,EAAkE,OAAOJ,OAAO,CAACI,IAAf;EAClE,IAAIJ,OAAO,CAACK,WAAR,KAAwB,CAA5B,EAA+B,OAAOH,UAAP;EAC/B,OAAOF,OAAO,CAACM,OAAR,CACJC,MADI,CACG;IAAA,IAAC;MAAEC;IAAF,CAAD;IAAA,OAAgBA,MAAM,KAAKT,aAA3B;EAAA,CADH,EAEJU,GAFI,CAEA;IAAA,IAAC;MAAEC;IAAF,CAAD;IAAA,OAAkBA,QAAQ,IAAIT,cAA9B;EAAA,CAFA,EAGJU,IAHI,CAGC,IAHD,CAAP;AAID,CAbM;;;;AAeA,MAAMC,0BAA0B,GAAG,CAACZ,OAAD,EAAgCa,MAAhC,KAAoD;EAAA;;EAC5F,MAAMC,SAAS,GAAG,yBAAAd,OAAO,CAACe,WAAR,8EAAqBC,SAArB,KAAkChB,OAAO,CAACiB,QAAR,GAAmB,IAArD,IAA6DjB,OAAO,CAACgB,SAAvF;EAEA,IAAI,IAAAE,gBAAA,EAAQJ,SAAR,CAAJ,EAAwB,OAAO,IAAAK,eAAA,EAAOL,SAAP,EAAkB,GAAlB,EAAuB;IAAED;EAAF,CAAvB,CAAP;EACxB,IAAI,IAAAO,oBAAA,EAAYN,SAAZ,CAAJ,EAA4B,OAAO,WAAP;EAC5B,IAAI,IAAAO,mBAAA,EAAWP,SAAX,CAAJ,EAA2B,OAAO,IAAAK,eAAA,EAAOL,SAAP,EAAkB,QAAlB,EAA4B;IAAED;EAAF,CAA5B,CAAP;EAE3B,OAAO,IAAAM,eAAA,EAAOL,SAAP,EAAkB,YAAlB,EAAgC;IAAED;EAAF,CAAhC,CAAP;AACD,CARM;;;;AAUA,MAAMS,0BAA0B,GAAG,UAACtB,OAAD,EAAqE;EAAA,IAArCuB,aAAqC,uEAArB,EAAqB;EAAA,IAAjBC,OAAiB,uEAAP,EAAO;EAC7G,MAAMC,OAAO,GAAGzB,OAAO,CAACe,WAAxB;EACA,IAAI,CAACU,OAAL,EAAc,OAAOF,aAAP;;EAEd,IAAIE,OAAO,CAACC,aAAR,EAAJ,EAA6B;IAC3B,MAAMC,MAAM,GAAGF,OAAO,CAACrB,IAAR,CAAawB,WAAb,CAAyB,GAAzB,CAAf;;IACA,IAAID,MAAM,GAAG,CAAC,CAAd,EAAiB;MACf,MAAME,IAAI,GAAGJ,OAAO,CAACrB,IAAR,CAAa0B,KAAb,CAAmB,CAAnB,EAAsBH,MAAtB,CAAb;MACA,MAAMI,GAAG,GAAGN,OAAO,CAACrB,IAAR,CAAa0B,KAAb,CAAmBH,MAAnB,CAAZ;MACA,OAAO,IAAAK,gBAAA,EAASH,IAAT,EAAe;QAAEI,MAAM,EAAET;MAAV,CAAf,IAAsCO,GAA7C;IACD;;IAED,OAAO,IAAAC,gBAAA,EAASP,OAAO,CAACrB,IAAjB,EAAuB;MAAE6B,MAAM,EAAET;IAAV,CAAvB,CAAP;EACD;;EAED,IAAIC,OAAO,CAACS,aAAR,EAAJ,EAA6B;IAC3B,OAAOT,OAAO,CAACA,OAAR,IAAmBF,aAA1B;EACD;;EAED,IAAIE,OAAO,CAACU,cAAR,EAAJ,EAA8B;IAC5B,OAAOV,OAAO,CAACA,OAAR,IAAmBF,aAA1B;EACD;;EAED,OAAOA,aAAP;AACD,CAxBM"}
1
+ {"version":3,"names":["_common","require","getGroupChannelTitle","currentUserId","channel","EMPTY_USERNAME","arguments","length","undefined","NO_MEMBERS","DEFAULT_CHANNEL_NAME","name","memberCount","members","filter","_ref","userId","map","_ref2","nickname","join","exports","getGroupChannelPreviewTime","locale","_channel$lastMessage","getMessagePreviewTime","lastMessage","createdAt","joinedAt","getGroupChannelLastMessage","EMPTY_MESSAGE","message","getMessagePreviewBody"],"sources":["groupChannel.ts"],"sourcesContent":["import type { Locale } from 'date-fns';\n\nimport type { SendbirdGroupChannel } from '../types';\nimport { getMessagePreviewBody, getMessagePreviewTime } from './common';\n\nexport const getGroupChannelTitle = (\n currentUserId: string,\n channel: SendbirdGroupChannel,\n EMPTY_USERNAME = '(No name)',\n NO_MEMBERS = '(No members)',\n DEFAULT_CHANNEL_NAME = 'Group Channel',\n) => {\n if (channel.name !== DEFAULT_CHANNEL_NAME && channel.name !== '') return channel.name;\n if (channel.memberCount === 1) return NO_MEMBERS;\n return channel.members\n .filter(({ userId }) => userId !== currentUserId)\n .map(({ nickname }) => nickname || EMPTY_USERNAME)\n .join(', ');\n};\n\nexport const getGroupChannelPreviewTime = (channel: SendbirdGroupChannel, locale?: Locale) => {\n return getMessagePreviewTime(channel.lastMessage?.createdAt || channel.joinedAt * 1000 || channel.createdAt, locale);\n};\n\nexport const getGroupChannelLastMessage = (channel: SendbirdGroupChannel, EMPTY_MESSAGE = '') => {\n const message = channel.lastMessage;\n if (!message) return EMPTY_MESSAGE;\n\n return getMessagePreviewBody(message, EMPTY_MESSAGE);\n};\n"],"mappings":";;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AAEO,MAAMC,oBAAoB,GAAG,SAAAA,CAClCC,aAAqB,EACrBC,OAA6B,EAI1B;EAAA,IAHHC,cAAc,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,WAAW;EAAA,IAC5BG,UAAU,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,cAAc;EAAA,IAC3BI,oBAAoB,GAAAJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,eAAe;EAEtC,IAAIF,OAAO,CAACO,IAAI,KAAKD,oBAAoB,IAAIN,OAAO,CAACO,IAAI,KAAK,EAAE,EAAE,OAAOP,OAAO,CAACO,IAAI;EACrF,IAAIP,OAAO,CAACQ,WAAW,KAAK,CAAC,EAAE,OAAOH,UAAU;EAChD,OAAOL,OAAO,CAACS,OAAO,CACnBC,MAAM,CAACC,IAAA;IAAA,IAAC;MAAEC;IAAO,CAAC,GAAAD,IAAA;IAAA,OAAKC,MAAM,KAAKb,aAAa;EAAA,EAAC,CAChDc,GAAG,CAACC,KAAA;IAAA,IAAC;MAAEC;IAAS,CAAC,GAAAD,KAAA;IAAA,OAAKC,QAAQ,IAAId,cAAc;EAAA,EAAC,CACjDe,IAAI,CAAC,IAAI,CAAC;AACf,CAAC;AAACC,OAAA,CAAAnB,oBAAA,GAAAA,oBAAA;AAEK,MAAMoB,0BAA0B,GAAGA,CAAClB,OAA6B,EAAEmB,MAAe,KAAK;EAAA,IAAAC,oBAAA;EAC5F,OAAO,IAAAC,6BAAqB,EAAC,EAAAD,oBAAA,GAAApB,OAAO,CAACsB,WAAW,cAAAF,oBAAA,uBAAnBA,oBAAA,CAAqBG,SAAS,KAAIvB,OAAO,CAACwB,QAAQ,GAAG,IAAI,IAAIxB,OAAO,CAACuB,SAAS,EAAEJ,MAAM,CAAC;AACtH,CAAC;AAACF,OAAA,CAAAC,0BAAA,GAAAA,0BAAA;AAEK,MAAMO,0BAA0B,GAAG,SAAAA,CAACzB,OAA6B,EAAyB;EAAA,IAAvB0B,aAAa,GAAAxB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAC1F,MAAMyB,OAAO,GAAG3B,OAAO,CAACsB,WAAW;EACnC,IAAI,CAACK,OAAO,EAAE,OAAOD,aAAa;EAElC,OAAO,IAAAE,6BAAqB,EAACD,OAAO,EAAED,aAAa,CAAC;AACtD,CAAC;AAACT,OAAA,CAAAQ,0BAAA,GAAAA,0BAAA"}
@@ -4,19 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.getOpenChannelTitle = exports.getOpenChannelParticipants = void 0;
7
-
8
7
  const getOpenChannelTitle = function (channel) {
9
8
  let DEFAULT_CHANNEL_NAME = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'Open Channel';
10
9
  const trimmedChannelName = channel.name.trim();
11
10
  if (trimmedChannelName === '') return DEFAULT_CHANNEL_NAME;
12
11
  return trimmedChannelName;
13
12
  };
14
-
15
13
  exports.getOpenChannelTitle = getOpenChannelTitle;
16
-
17
14
  const getOpenChannelParticipants = channel => {
18
15
  return `${channel.participantCount} participants`;
19
16
  };
20
-
21
17
  exports.getOpenChannelParticipants = getOpenChannelParticipants;
22
18
  //# sourceMappingURL=openChannel.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["getOpenChannelTitle","channel","DEFAULT_CHANNEL_NAME","trimmedChannelName","name","trim","getOpenChannelParticipants","participantCount"],"sources":["openChannel.ts"],"sourcesContent":["import type { SendbirdOpenChannel } from '../types';\n\nexport const getOpenChannelTitle = (channel: SendbirdOpenChannel, DEFAULT_CHANNEL_NAME = 'Open Channel') => {\n const trimmedChannelName = channel.name.trim();\n if (trimmedChannelName === '') return DEFAULT_CHANNEL_NAME;\n return trimmedChannelName;\n};\n\nexport const getOpenChannelParticipants = (channel: SendbirdOpenChannel) => {\n return `${channel.participantCount} participants`;\n};\n"],"mappings":";;;;;;;AAEO,MAAMA,mBAAmB,GAAG,UAACC,OAAD,EAAyE;EAAA,IAA1CC,oBAA0C,uEAAnB,cAAmB;EAC1G,MAAMC,kBAAkB,GAAGF,OAAO,CAACG,IAAR,CAAaC,IAAb,EAA3B;EACA,IAAIF,kBAAkB,KAAK,EAA3B,EAA+B,OAAOD,oBAAP;EAC/B,OAAOC,kBAAP;AACD,CAJM;;;;AAMA,MAAMG,0BAA0B,GAAIL,OAAD,IAAkC;EAC1E,OAAQ,GAAEA,OAAO,CAACM,gBAAiB,eAAnC;AACD,CAFM"}
1
+ {"version":3,"names":["getOpenChannelTitle","channel","DEFAULT_CHANNEL_NAME","arguments","length","undefined","trimmedChannelName","name","trim","exports","getOpenChannelParticipants","participantCount"],"sources":["openChannel.ts"],"sourcesContent":["import type { SendbirdOpenChannel } from '../types';\n\nexport const getOpenChannelTitle = (channel: SendbirdOpenChannel, DEFAULT_CHANNEL_NAME = 'Open Channel') => {\n const trimmedChannelName = channel.name.trim();\n if (trimmedChannelName === '') return DEFAULT_CHANNEL_NAME;\n return trimmedChannelName;\n};\n\nexport const getOpenChannelParticipants = (channel: SendbirdOpenChannel) => {\n return `${channel.participantCount} participants`;\n};\n"],"mappings":";;;;;;AAEO,MAAMA,mBAAmB,GAAG,SAAAA,CAACC,OAA4B,EAA4C;EAAA,IAA1CC,oBAAoB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,cAAc;EACrG,MAAMG,kBAAkB,GAAGL,OAAO,CAACM,IAAI,CAACC,IAAI,EAAE;EAC9C,IAAIF,kBAAkB,KAAK,EAAE,EAAE,OAAOJ,oBAAoB;EAC1D,OAAOI,kBAAkB;AAC3B,CAAC;AAACG,OAAA,CAAAT,mBAAA,GAAAA,mBAAA;AAEK,MAAMU,0BAA0B,GAAIT,OAA4B,IAAK;EAC1E,OAAQ,GAAEA,OAAO,CAACU,gBAAiB,eAAc;AACnD,CAAC;AAACF,OAAA,CAAAC,0BAAA,GAAAA,0BAAA"}
@@ -1,4 +1,5 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
+
2
3
  import { useCallback, useEffect, useLayoutEffect, useReducer, useRef, useState } from 'react';
3
4
  const idPool = {};
4
5
  export const useUniqId = key => {
@@ -24,14 +25,11 @@ export const useAsyncLayoutEffect = (asyncEffect, deps) => {
24
25
  export const useIIFE = callback => {
25
26
  return iife(callback);
26
27
  };
27
-
28
28
  const iife = callback => callback();
29
-
30
29
  const createAsyncEffectCallback = asyncEffect => () => {
31
30
  const destructor = iife(asyncEffect);
32
31
  return () => {
33
32
  if (!destructor) return;
34
-
35
33
  if (destructor instanceof Promise) {
36
34
  iife(async () => {
37
35
  const awaitedDestructor = await destructor;
@@ -42,7 +40,6 @@ const createAsyncEffectCallback = asyncEffect => () => {
42
40
  }
43
41
  };
44
42
  };
45
-
46
43
  export const useIsMountedRef = () => {
47
44
  const isMounted = useRef(true);
48
45
  useEffect(() => {
@@ -54,12 +51,10 @@ export const useIsMountedRef = () => {
54
51
  };
55
52
  export const useIsFirstMount = () => {
56
53
  const isFirstMount = useRef(true);
57
-
58
54
  if (isFirstMount.current) {
59
55
  isFirstMount.current = false;
60
56
  return true;
61
57
  }
62
-
63
58
  return isFirstMount.current;
64
59
  };
65
60
  export const useFreshCallback = callback => {
@@ -89,8 +84,16 @@ export const useDebounceEffect = function (action, delay) {
89
84
  }, [delay, ...deps]);
90
85
  };
91
86
  export const usePartialState = initialState => {
92
- return useReducer((prev, state) => ({ ...prev,
87
+ return useReducer((prev, state) => ({
88
+ ...prev,
93
89
  ...state
94
90
  }), initialState);
95
91
  };
92
+ export const useRefTracker = target => {
93
+ const ref = useRef(target);
94
+ useLayoutEffect(() => {
95
+ ref.current = target;
96
+ });
97
+ return ref;
98
+ };
96
99
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useLayoutEffect","useReducer","useRef","useState","idPool","useUniqId","key","useUniqHandlerId","name","id","useForceUpdate","updater","prev","useAsyncEffect","asyncEffect","deps","createAsyncEffectCallback","useAsyncLayoutEffect","useIIFE","callback","iife","destructor","Promise","awaitedDestructor","useIsMountedRef","isMounted","current","useIsFirstMount","isFirstMount","useFreshCallback","ref","useDebounceEffect","action","delay","timeoutRef","setTimeout","undefined","clearTimeout","usePartialState","initialState","state"],"sources":["index.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { DependencyList } from 'react';\nimport { useCallback, useEffect, useLayoutEffect, useReducer, useRef, useState } from 'react';\n\ntype Destructor = () => void;\ntype AsyncEffectCallback = () => void | Destructor | Promise<void> | Promise<Destructor>;\n\nconst idPool: { [key: string]: number } = {};\nexport const useUniqId = (key: string) => {\n return useState(() => {\n if (!idPool[key]) idPool[key] = 1;\n return idPool[key]++;\n })[0];\n};\n\nexport const useUniqHandlerId = (name: string) => {\n const id = useUniqId(name);\n return `${name}_${id}`;\n};\n\nexport const useForceUpdate = () => {\n const [, updater] = useState(0);\n return useCallback(() => updater((prev) => prev + 1), []);\n};\n\nexport const useAsyncEffect = (asyncEffect: AsyncEffectCallback, deps?: DependencyList) => {\n useEffect(createAsyncEffectCallback(asyncEffect), deps);\n};\nexport const useAsyncLayoutEffect = (asyncEffect: AsyncEffectCallback, deps?: DependencyList) => {\n useLayoutEffect(createAsyncEffectCallback(asyncEffect), deps);\n};\nexport const useIIFE = <T>(callback: () => T) => {\n return iife(callback);\n};\nconst iife = <T extends (...args: any[]) => any>(callback: T): ReturnType<T> => callback();\nconst createAsyncEffectCallback = (asyncEffect: AsyncEffectCallback) => () => {\n const destructor = iife(asyncEffect);\n return () => {\n if (!destructor) return;\n\n if (destructor instanceof Promise) {\n iife(async () => {\n const awaitedDestructor = await destructor;\n if (awaitedDestructor) awaitedDestructor();\n });\n } else {\n iife(destructor);\n }\n };\n};\n\nexport const useIsMountedRef = () => {\n const isMounted = useRef(true);\n\n useEffect(() => {\n return () => {\n isMounted.current = false;\n };\n }, []);\n\n return isMounted;\n};\n\nexport const useIsFirstMount = () => {\n const isFirstMount = useRef(true);\n\n if (isFirstMount.current) {\n isFirstMount.current = false;\n return true;\n }\n\n return isFirstMount.current;\n};\n\nexport const useFreshCallback = <T extends (...args: any[]) => any>(callback: T): T => {\n const ref = useRef<T>(callback);\n ref.current = callback;\n return useCallback(((...args) => ref.current(...args)) as T, []);\n};\n\nexport const useDebounceEffect = (action: () => void, delay: number, deps: DependencyList = []) => {\n const timeoutRef = useRef<NodeJS.Timeout>();\n\n useEffect(() => {\n timeoutRef.current = setTimeout(async () => {\n try {\n await action();\n } finally {\n timeoutRef.current = undefined;\n }\n }, delay);\n\n return () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = undefined;\n }\n };\n }, [delay, ...deps]);\n};\n\nexport const usePartialState = <S>(initialState: S) => {\n return useReducer((prev: S, state: Partial<S>) => ({ ...prev, ...state }), initialState);\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["useCallback","useEffect","useLayoutEffect","useReducer","useRef","useState","idPool","useUniqId","key","useUniqHandlerId","name","id","useForceUpdate","updater","prev","useAsyncEffect","asyncEffect","deps","createAsyncEffectCallback","useAsyncLayoutEffect","useIIFE","callback","iife","destructor","Promise","awaitedDestructor","useIsMountedRef","isMounted","current","useIsFirstMount","isFirstMount","useFreshCallback","ref","arguments","useDebounceEffect","action","delay","length","undefined","timeoutRef","setTimeout","clearTimeout","usePartialState","initialState","state","useRefTracker","target"],"sources":["index.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { DependencyList } from 'react';\nimport { useCallback, useEffect, useLayoutEffect, useReducer, useRef, useState } from 'react';\n\ntype Destructor = () => void;\ntype AsyncEffectCallback = () => void | Destructor | Promise<void> | Promise<Destructor>;\n\nconst idPool: { [key: string]: number } = {};\nexport const useUniqId = (key: string) => {\n return useState(() => {\n if (!idPool[key]) idPool[key] = 1;\n return idPool[key]++;\n })[0];\n};\n\nexport const useUniqHandlerId = (name: string) => {\n const id = useUniqId(name);\n return `${name}_${id}`;\n};\n\nexport const useForceUpdate = () => {\n const [, updater] = useState(0);\n return useCallback(() => updater((prev) => prev + 1), []);\n};\n\nexport const useAsyncEffect = (asyncEffect: AsyncEffectCallback, deps?: DependencyList) => {\n useEffect(createAsyncEffectCallback(asyncEffect), deps);\n};\nexport const useAsyncLayoutEffect = (asyncEffect: AsyncEffectCallback, deps?: DependencyList) => {\n useLayoutEffect(createAsyncEffectCallback(asyncEffect), deps);\n};\nexport const useIIFE = <T>(callback: () => T) => {\n return iife(callback);\n};\nconst iife = <T extends (...args: any[]) => any>(callback: T): ReturnType<T> => callback();\nconst createAsyncEffectCallback = (asyncEffect: AsyncEffectCallback) => () => {\n const destructor = iife(asyncEffect);\n return () => {\n if (!destructor) return;\n\n if (destructor instanceof Promise) {\n iife(async () => {\n const awaitedDestructor = await destructor;\n if (awaitedDestructor) awaitedDestructor();\n });\n } else {\n iife(destructor);\n }\n };\n};\n\nexport const useIsMountedRef = () => {\n const isMounted = useRef(true);\n\n useEffect(() => {\n return () => {\n isMounted.current = false;\n };\n }, []);\n\n return isMounted;\n};\n\nexport const useIsFirstMount = () => {\n const isFirstMount = useRef(true);\n\n if (isFirstMount.current) {\n isFirstMount.current = false;\n return true;\n }\n\n return isFirstMount.current;\n};\n\nexport const useFreshCallback = <T extends (...args: any[]) => any>(callback: T): T => {\n const ref = useRef<T>(callback);\n ref.current = callback;\n return useCallback(((...args) => ref.current(...args)) as T, []);\n};\n\nexport const useDebounceEffect = (action: () => void, delay: number, deps: DependencyList = []) => {\n const timeoutRef = useRef<NodeJS.Timeout>();\n\n useEffect(() => {\n timeoutRef.current = setTimeout(async () => {\n try {\n await action();\n } finally {\n timeoutRef.current = undefined;\n }\n }, delay);\n\n return () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = undefined;\n }\n };\n }, [delay, ...deps]);\n};\n\nexport const usePartialState = <S>(initialState: S) => {\n return useReducer((prev: S, state: Partial<S>) => ({ ...prev, ...state }), initialState);\n};\n\nexport const useRefTracker = <T>(target: T) => {\n const ref = useRef(target);\n\n useLayoutEffect(() => {\n ref.current = target;\n });\n\n return ref;\n};\n"],"mappings":"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"}
@@ -20,13 +20,13 @@ export const useAppState = (type, listener) => {
20
20
  callbackRef.current = listener;
21
21
  useEffect(() => {
22
22
  const eventListener = state => callbackRef.current(state);
23
-
24
23
  const subscriber = AppState.addEventListener(type, eventListener);
25
24
  return () => {
26
25
  // @ts-ignore
27
26
  if (subscriber !== null && subscriber !== void 0 && subscriber.remove) {
28
27
  subscriber.remove();
29
- } // @ts-ignore
28
+ }
29
+ // @ts-ignore
30
30
  else if (AppState.removeEventListener) {
31
31
  // @ts-ignore
32
32
  AppState.removeEventListener(type, eventListener);
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useRef","AppState","useSafeAreaInsets","edgePaddingMap","left","right","top","bottom","useSafeAreaPadding","edges","safeAreaInsets","reduce","map","edge","paddingKey","useAppState","type","listener","callbackRef","current","eventListener","state","subscriber","addEventListener","remove","removeEventListener"],"sources":["react-native.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport { AppState, AppStateEvent, AppStateStatus } from 'react-native';\nimport { EdgeInsets, useSafeAreaInsets } from 'react-native-safe-area-context';\n\ntype EdgePaddingMap = {\n left: 'paddingLeft';\n right: 'paddingRight';\n top: 'paddingTop';\n bottom: 'paddingBottom';\n};\nconst edgePaddingMap: EdgePaddingMap = {\n left: 'paddingLeft',\n right: 'paddingRight',\n top: 'paddingTop',\n bottom: 'paddingBottom',\n};\n\nexport const useSafeAreaPadding = <\n T extends keyof EdgeInsets,\n Result extends { [key in EdgePaddingMap[T]]: EdgeInsets[T] },\n>(\n edges: T[],\n): Result => {\n const safeAreaInsets = useSafeAreaInsets();\n return edges.reduce((map, edge) => {\n const paddingKey = edgePaddingMap[edge];\n map[paddingKey] = safeAreaInsets[edge];\n return map;\n }, {} as { [key in EdgePaddingMap[T]]: EdgeInsets[T] }) as Result;\n};\n\ntype AppStateListener = (status: AppStateStatus) => void;\n\nexport const useAppState = (type: AppStateEvent, listener: AppStateListener) => {\n const callbackRef = useRef<AppStateListener>(listener);\n callbackRef.current = listener;\n\n useEffect(() => {\n const eventListener = (state: AppStateStatus) => callbackRef.current(state);\n const subscriber = AppState.addEventListener(type, eventListener);\n\n return () => {\n // @ts-ignore\n if (subscriber?.remove) {\n subscriber.remove();\n }\n // @ts-ignore\n else if (AppState.removeEventListener) {\n // @ts-ignore\n AppState.removeEventListener(type, eventListener);\n }\n };\n }, []);\n};\n"],"mappings":"AAAA,SAASA,SAAT,EAAoBC,MAApB,QAAkC,OAAlC;AACA,SAASC,QAAT,QAAwD,cAAxD;AACA,SAAqBC,iBAArB,QAA8C,gCAA9C;AAQA,MAAMC,cAA8B,GAAG;EACrCC,IAAI,EAAE,aAD+B;EAErCC,KAAK,EAAE,cAF8B;EAGrCC,GAAG,EAAE,YAHgC;EAIrCC,MAAM,EAAE;AAJ6B,CAAvC;AAOA,OAAO,MAAMC,kBAAkB,GAI7BC,KAJgC,IAKrB;EACX,MAAMC,cAAc,GAAGR,iBAAiB,EAAxC;EACA,OAAOO,KAAK,CAACE,MAAN,CAAa,CAACC,GAAD,EAAMC,IAAN,KAAe;IACjC,MAAMC,UAAU,GAAGX,cAAc,CAACU,IAAD,CAAjC;IACAD,GAAG,CAACE,UAAD,CAAH,GAAkBJ,cAAc,CAACG,IAAD,CAAhC;IACA,OAAOD,GAAP;EACD,CAJM,EAIJ,EAJI,CAAP;AAKD,CAZM;AAgBP,OAAO,MAAMG,WAAW,GAAG,CAACC,IAAD,EAAsBC,QAAtB,KAAqD;EAC9E,MAAMC,WAAW,GAAGlB,MAAM,CAAmBiB,QAAnB,CAA1B;EACAC,WAAW,CAACC,OAAZ,GAAsBF,QAAtB;EAEAlB,SAAS,CAAC,MAAM;IACd,MAAMqB,aAAa,GAAIC,KAAD,IAA2BH,WAAW,CAACC,OAAZ,CAAoBE,KAApB,CAAjD;;IACA,MAAMC,UAAU,GAAGrB,QAAQ,CAACsB,gBAAT,CAA0BP,IAA1B,EAAgCI,aAAhC,CAAnB;IAEA,OAAO,MAAM;MACX;MACA,IAAIE,UAAJ,aAAIA,UAAJ,eAAIA,UAAU,CAAEE,MAAhB,EAAwB;QACtBF,UAAU,CAACE,MAAX;MACD,CAFD,CAGA;MAHA,KAIK,IAAIvB,QAAQ,CAACwB,mBAAb,EAAkC;QACrC;QACAxB,QAAQ,CAACwB,mBAAT,CAA6BT,IAA7B,EAAmCI,aAAnC;MACD;IACF,CAVD;EAWD,CAfQ,EAeN,EAfM,CAAT;AAgBD,CApBM"}
1
+ {"version":3,"names":["useEffect","useRef","AppState","useSafeAreaInsets","edgePaddingMap","left","right","top","bottom","useSafeAreaPadding","edges","safeAreaInsets","reduce","map","edge","paddingKey","useAppState","type","listener","callbackRef","current","eventListener","state","subscriber","addEventListener","remove","removeEventListener"],"sources":["react-native.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport { AppState, AppStateEvent, AppStateStatus } from 'react-native';\nimport { EdgeInsets, useSafeAreaInsets } from 'react-native-safe-area-context';\n\ntype EdgePaddingMap = {\n left: 'paddingLeft';\n right: 'paddingRight';\n top: 'paddingTop';\n bottom: 'paddingBottom';\n};\nconst edgePaddingMap: EdgePaddingMap = {\n left: 'paddingLeft',\n right: 'paddingRight',\n top: 'paddingTop',\n bottom: 'paddingBottom',\n};\n\nexport const useSafeAreaPadding = <\n T extends keyof EdgeInsets,\n Result extends { [key in EdgePaddingMap[T]]: EdgeInsets[T] },\n>(\n edges: T[],\n): Result => {\n const safeAreaInsets = useSafeAreaInsets();\n return edges.reduce((map, edge) => {\n const paddingKey = edgePaddingMap[edge];\n map[paddingKey] = safeAreaInsets[edge];\n return map;\n }, {} as { [key in EdgePaddingMap[T]]: EdgeInsets[T] }) as Result;\n};\n\ntype AppStateListener = (status: AppStateStatus) => void;\n\nexport const useAppState = (type: AppStateEvent, listener: AppStateListener) => {\n const callbackRef = useRef<AppStateListener>(listener);\n callbackRef.current = listener;\n\n useEffect(() => {\n const eventListener = (state: AppStateStatus) => callbackRef.current(state);\n const subscriber = AppState.addEventListener(type, eventListener);\n\n return () => {\n // @ts-ignore\n if (subscriber?.remove) {\n subscriber.remove();\n }\n // @ts-ignore\n else if (AppState.removeEventListener) {\n // @ts-ignore\n AppState.removeEventListener(type, eventListener);\n }\n };\n }, []);\n};\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AACzC,SAASC,QAAQ,QAAuC,cAAc;AACtE,SAAqBC,iBAAiB,QAAQ,gCAAgC;AAQ9E,MAAMC,cAA8B,GAAG;EACrCC,IAAI,EAAE,aAAa;EACnBC,KAAK,EAAE,cAAc;EACrBC,GAAG,EAAE,YAAY;EACjBC,MAAM,EAAE;AACV,CAAC;AAED,OAAO,MAAMC,kBAAkB,GAI7BC,KAAU,IACC;EACX,MAAMC,cAAc,GAAGR,iBAAiB,EAAE;EAC1C,OAAOO,KAAK,CAACE,MAAM,CAAC,CAACC,GAAG,EAAEC,IAAI,KAAK;IACjC,MAAMC,UAAU,GAAGX,cAAc,CAACU,IAAI,CAAC;IACvCD,GAAG,CAACE,UAAU,CAAC,GAAGJ,cAAc,CAACG,IAAI,CAAC;IACtC,OAAOD,GAAG;EACZ,CAAC,EAAE,CAAC,CAAC,CAAkD;AACzD,CAAC;AAID,OAAO,MAAMG,WAAW,GAAGA,CAACC,IAAmB,EAAEC,QAA0B,KAAK;EAC9E,MAAMC,WAAW,GAAGlB,MAAM,CAAmBiB,QAAQ,CAAC;EACtDC,WAAW,CAACC,OAAO,GAAGF,QAAQ;EAE9BlB,SAAS,CAAC,MAAM;IACd,MAAMqB,aAAa,GAAIC,KAAqB,IAAKH,WAAW,CAACC,OAAO,CAACE,KAAK,CAAC;IAC3E,MAAMC,UAAU,GAAGrB,QAAQ,CAACsB,gBAAgB,CAACP,IAAI,EAAEI,aAAa,CAAC;IAEjE,OAAO,MAAM;MACX;MACA,IAAIE,UAAU,aAAVA,UAAU,eAAVA,UAAU,CAAEE,MAAM,EAAE;QACtBF,UAAU,CAACE,MAAM,EAAE;MACrB;MACA;MAAA,KACK,IAAIvB,QAAQ,CAACwB,mBAAmB,EAAE;QACrC;QACAxB,QAAQ,CAACwB,mBAAmB,CAACT,IAAI,EAAEI,aAAa,CAAC;MACnD;IACF,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;AACR,CAAC"}
@@ -23,11 +23,13 @@ export function ifThenOr(cond, then, or) {
23
23
  return or;
24
24
  }
25
25
  export const SBErrorCode = {
26
- NON_AUTHORIZED: 400108,
27
- CHANNEL_NOT_FOUND_SERVER: 400201,
28
- CHANNEL_NOT_FOUND_SDK: 900500
26
+ UNAUTHORIZED_REQUEST: 400108,
27
+ RESOURCE_NOT_FOUND: 400201,
28
+ BANNED_USER_SEND_MESSAGE_NOT_ALLOWED: 900100,
29
+ CHANNEL_NOT_FOUND: 900500
29
30
  };
30
31
  export const SBErrorMessage = {
31
32
  ACL: 'Sendbird provides various access control options when using the Chat SDK.\n' + 'By default, the Allow retrieving user list attribute is turned on to facilitate creating sample apps.\n' + 'However, this may grant access to unwanted data or operations, leading to potential security concerns.\n' + 'To manage your access control settings, you can turn on or off each setting on Sendbird Dashboard.'
32
33
  };
34
+ export * from './types';
33
35
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Logger","default","arrayToMap","arrayToMapWithGetter","NOOP","ASYNC_NOOP","PASS","val","toMegabyte","byte","isFunction","param","ifThenOr","cond","then","or","SBErrorCode","NON_AUTHORIZED","CHANNEL_NOT_FOUND_SERVER","CHANNEL_NOT_FOUND_SDK","SBErrorMessage","ACL"],"sources":["index.ts"],"sourcesContent":["export { Logger } from './shared/logger';\nexport { default as arrayToMap, arrayToMapWithGetter } from './shared/arrayToMap';\nexport * from './shared/regex';\nexport * from './shared/bufferedRequest';\nexport * from './shared/file';\nexport * from './shared';\n\nexport * from './hooks';\nexport * from './hooks/react-native';\nexport * from './ui-format/groupChannel';\nexport * from './ui-format/openChannel';\nexport * from './ui-format/common';\nexport * from './sendbird/channel';\nexport * from './sendbird/message';\nexport * from './sendbird/attrs';\nexport * from './sendbird/user';\n\nexport const NOOP: () => void = () => void 0;\nexport const ASYNC_NOOP = async () => void 0;\nexport const PASS = <T>(val: T) => val;\nexport const toMegabyte = (byte: number) => byte / 1024 / 1024;\nexport const isFunction = (param?: unknown): param is Function => typeof param === 'function';\n\nexport function ifThenOr<T>(cond: boolean, then: T): T | undefined;\nexport function ifThenOr<T, V>(cond: boolean, then: T, or: V): T | V;\nexport function ifThenOr(cond: boolean, then: unknown, or?: unknown) {\n if (cond) return then;\n return or;\n}\n\nexport const SBErrorCode = {\n NON_AUTHORIZED: 400108,\n CHANNEL_NOT_FOUND_SERVER: 400201,\n CHANNEL_NOT_FOUND_SDK: 900500,\n};\nexport const SBErrorMessage = {\n ACL:\n 'Sendbird provides various access control options when using the Chat SDK.\\n' +\n 'By default, the Allow retrieving user list attribute is turned on to facilitate creating sample apps.\\n' +\n 'However, this may grant access to unwanted data or operations, leading to potential security concerns.\\n' +\n 'To manage your access control settings, you can turn on or off each setting on Sendbird Dashboard.',\n};\n\nexport type {\n UserStruct,\n FilterByValueType,\n UnionToIntersection,\n OmittedValues,\n PartialDeep,\n Optional,\n ContextValue,\n OnBeforeHandler,\n SendbirdMessage,\n SendbirdChatSDK,\n SendbirdChannel,\n SendbirdBaseChannel,\n SendbirdGroupChannel,\n SendbirdOpenChannel,\n SendbirdUser,\n SendbirdMember,\n SendbirdBaseMessage,\n SendbirdUserMessage,\n SendbirdFileMessage,\n SendbirdAdminMessage,\n SendbirdGroupChannelCreateParams,\n SendbirdFileMessageCreateParams,\n SendbirdUserMessageCreateParams,\n SendbirdError,\n SendbirdMessageCollection,\n SendbirdGroupChannelCollection,\n NotificationFiles,\n NotificationMentionedUsers,\n NotificationTranslations,\n PartialNullable,\n SendbirdDataPayload,\n SendbirdPreviousMessageListQuery,\n SendbirdSendableMessage,\n SendbirdOpenChannelListQuery,\n SendbirdGroupChannelListQuery,\n SendbirdGroupChannelUpdateParams,\n SendbirdUserMessageUpdateParams,\n SendbirdFileMessageUpdateParams,\n SendbirdUserUpdateParams,\n SendbirdRestrictedUser,\n SendbirdReaction,\n SendbirdEmojiContainer,\n SendbirdEmoji,\n SendbirdEmojiCategory,\n SendbirdOpenChannelUpdateParams,\n SendbirdOpenChannelCreateParams,\n SendbirdParticipant,\n} from './types';\n"],"mappings":"AAAA,SAASA,MAAT,QAAuB,iBAAvB;AACA,SAASC,OAAO,IAAIC,UAApB,EAAgCC,oBAAhC,QAA4D,qBAA5D;AACA,cAAc,gBAAd;AACA,cAAc,0BAAd;AACA,cAAc,eAAd;AACA,cAAc,UAAd;AAEA,cAAc,SAAd;AACA,cAAc,sBAAd;AACA,cAAc,0BAAd;AACA,cAAc,yBAAd;AACA,cAAc,oBAAd;AACA,cAAc,oBAAd;AACA,cAAc,oBAAd;AACA,cAAc,kBAAd;AACA,cAAc,iBAAd;AAEA,OAAO,MAAMC,IAAgB,GAAG,MAAM,KAAK,CAApC;AACP,OAAO,MAAMC,UAAU,GAAG,YAAY,KAAK,CAApC;AACP,OAAO,MAAMC,IAAI,GAAOC,GAAJ,IAAeA,GAA5B;AACP,OAAO,MAAMC,UAAU,GAAIC,IAAD,IAAkBA,IAAI,GAAG,IAAP,GAAc,IAAnD;AACP,OAAO,MAAMC,UAAU,GAAIC,KAAD,IAAwC,OAAOA,KAAP,KAAiB,UAA5E;AAIP,OAAO,SAASC,QAAT,CAAkBC,IAAlB,EAAiCC,IAAjC,EAAgDC,EAAhD,EAA8D;EACnE,IAAIF,IAAJ,EAAU,OAAOC,IAAP;EACV,OAAOC,EAAP;AACD;AAED,OAAO,MAAMC,WAAW,GAAG;EACzBC,cAAc,EAAE,MADS;EAEzBC,wBAAwB,EAAE,MAFD;EAGzBC,qBAAqB,EAAE;AAHE,CAApB;AAKP,OAAO,MAAMC,cAAc,GAAG;EAC5BC,GAAG,EACD,gFACA,yGADA,GAEA,0GAFA,GAGA;AAL0B,CAAvB"}
1
+ {"version":3,"names":["Logger","default","arrayToMap","arrayToMapWithGetter","NOOP","ASYNC_NOOP","PASS","val","toMegabyte","byte","isFunction","param","ifThenOr","cond","then","or","SBErrorCode","UNAUTHORIZED_REQUEST","RESOURCE_NOT_FOUND","BANNED_USER_SEND_MESSAGE_NOT_ALLOWED","CHANNEL_NOT_FOUND","SBErrorMessage","ACL"],"sources":["index.ts"],"sourcesContent":["export { Logger } from './shared/logger';\nexport { default as arrayToMap, arrayToMapWithGetter } from './shared/arrayToMap';\nexport * from './shared/regex';\nexport * from './shared/bufferedRequest';\nexport * from './shared/file';\nexport * from './shared';\n\nexport * from './hooks';\nexport * from './hooks/react-native';\nexport * from './ui-format/groupChannel';\nexport * from './ui-format/openChannel';\nexport * from './ui-format/common';\nexport * from './sendbird/channel';\nexport * from './sendbird/message';\nexport * from './sendbird/attrs';\nexport * from './sendbird/user';\n\nexport const NOOP: () => void = () => void 0;\nexport const ASYNC_NOOP = async () => void 0;\nexport const PASS = <T>(val: T) => val;\nexport const toMegabyte = (byte: number) => byte / 1024 / 1024;\nexport const isFunction = (param?: unknown): param is Function => typeof param === 'function';\n\nexport function ifThenOr<T>(cond: boolean, then: T): T | undefined;\nexport function ifThenOr<T, V>(cond: boolean, then: T, or: V): T | V;\nexport function ifThenOr(cond: boolean, then: unknown, or?: unknown) {\n if (cond) return then;\n return or;\n}\n\nexport const SBErrorCode = {\n UNAUTHORIZED_REQUEST: 400108,\n RESOURCE_NOT_FOUND: 400201,\n BANNED_USER_SEND_MESSAGE_NOT_ALLOWED: 900100,\n CHANNEL_NOT_FOUND: 900500,\n};\nexport const SBErrorMessage = {\n ACL:\n 'Sendbird provides various access control options when using the Chat SDK.\\n' +\n 'By default, the Allow retrieving user list attribute is turned on to facilitate creating sample apps.\\n' +\n 'However, this may grant access to unwanted data or operations, leading to potential security concerns.\\n' +\n 'To manage your access control settings, you can turn on or off each setting on Sendbird Dashboard.',\n};\n\nexport * from './types';\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,iBAAiB;AACxC,SAASC,OAAO,IAAIC,UAAU,EAAEC,oBAAoB,QAAQ,qBAAqB;AACjF,cAAc,gBAAgB;AAC9B,cAAc,0BAA0B;AACxC,cAAc,eAAe;AAC7B,cAAc,UAAU;AAExB,cAAc,SAAS;AACvB,cAAc,sBAAsB;AACpC,cAAc,0BAA0B;AACxC,cAAc,yBAAyB;AACvC,cAAc,oBAAoB;AAClC,cAAc,oBAAoB;AAClC,cAAc,oBAAoB;AAClC,cAAc,kBAAkB;AAChC,cAAc,iBAAiB;AAE/B,OAAO,MAAMC,IAAgB,GAAGA,CAAA,KAAM,KAAK,CAAC;AAC5C,OAAO,MAAMC,UAAU,GAAG,MAAAA,CAAA,KAAY,KAAK,CAAC;AAC5C,OAAO,MAAMC,IAAI,GAAOC,GAAM,IAAKA,GAAG;AACtC,OAAO,MAAMC,UAAU,GAAIC,IAAY,IAAKA,IAAI,GAAG,IAAI,GAAG,IAAI;AAC9D,OAAO,MAAMC,UAAU,GAAIC,KAAe,IAAwB,OAAOA,KAAK,KAAK,UAAU;AAI7F,OAAO,SAASC,QAAQA,CAACC,IAAa,EAAEC,IAAa,EAAEC,EAAY,EAAE;EACnE,IAAIF,IAAI,EAAE,OAAOC,IAAI;EACrB,OAAOC,EAAE;AACX;AAEA,OAAO,MAAMC,WAAW,GAAG;EACzBC,oBAAoB,EAAE,MAAM;EAC5BC,kBAAkB,EAAE,MAAM;EAC1BC,oCAAoC,EAAE,MAAM;EAC5CC,iBAAiB,EAAE;AACrB,CAAC;AACD,OAAO,MAAMC,cAAc,GAAG;EAC5BC,GAAG,EACD,6EAA6E,GAC7E,yGAAyG,GACzG,0GAA0G,GAC1G;AACJ,CAAC;AAED,cAAc,SAAS"}
@@ -1,6 +1,4 @@
1
- export let ApplicationAttributes;
2
-
3
- (function (ApplicationAttributes) {
1
+ export let ApplicationAttributes = /*#__PURE__*/function (ApplicationAttributes) {
4
2
  ApplicationAttributes["reactions"] = "reactions";
5
3
  ApplicationAttributes["message_search_v3"] = "message_search_v3";
6
4
  ApplicationAttributes["enable_og_tag"] = "enable_og_tag";
@@ -26,11 +24,9 @@ export let ApplicationAttributes;
26
24
  ApplicationAttributes["allow_group_channel_delete_from_sdk"] = "allow_group_channel_delete_from_sdk";
27
25
  ApplicationAttributes["allow_operators_to_ban_operators"] = "allow_operators_to_ban_operators";
28
26
  ApplicationAttributes["allow_operators_to_edit_operators"] = "allow_operators_to_edit_operators";
29
- })(ApplicationAttributes || (ApplicationAttributes = {}));
30
-
31
- export let PremiumFeatures;
32
-
33
- (function (PremiumFeatures) {
27
+ return ApplicationAttributes;
28
+ }({});
29
+ export let PremiumFeatures = /*#__PURE__*/function (PremiumFeatures) {
34
30
  PremiumFeatures["reactions"] = "reactions";
35
31
  PremiumFeatures["moderation_group"] = "moderation_group";
36
32
  PremiumFeatures["message_search_v3"] = "message_search_v3";
@@ -45,5 +41,6 @@ export let PremiumFeatures;
45
41
  PremiumFeatures["desk"] = "desk";
46
42
  PremiumFeatures["bot_interface"] = "bot_interface";
47
43
  PremiumFeatures["auto_trans"] = "auto_trans";
48
- })(PremiumFeatures || (PremiumFeatures = {}));
44
+ return PremiumFeatures;
45
+ }({});
49
46
  //# sourceMappingURL=attrs.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ApplicationAttributes","PremiumFeatures"],"sources":["attrs.ts"],"sourcesContent":["export enum ApplicationAttributes {\n reactions = 'reactions',\n message_search_v3 = 'message_search_v3',\n enable_og_tag = 'enable_og_tag',\n use_last_seen_at = 'use_last_seen_at',\n enable_message_threading = 'enable_message_threading',\n allow_message_update_from_sdk = 'allow_message_update_from_sdk',\n allow_group_channel_create_from_sdk = 'allow_group_channel_create_from_sdk',\n allow_migration_api = 'allow_migration_api',\n allow_only_operator_sdk_to_update_group_channel_image = 'allow_only_operator_sdk_to_update_group_channel_image',\n allow_user_update_from_sdk = 'allow_user_update_from_sdk',\n allow_broadcast_channel = 'allow_broadcast_channel',\n allow_sdk_file_message_urls = 'allow_sdk_file_message_urls',\n allow_group_channel_leave_from_sdk = 'allow_group_channel_leave_from_sdk',\n allow_user_list_from_sdk = 'allow_user_list_from_sdk',\n allow_group_channel_invite_from_sdk = 'allow_group_channel_invite_from_sdk',\n allow_only_operator_sdk_to_update_group_channel_name = 'allow_only_operator_sdk_to_update_group_channel_name',\n allow_group_channel_update_from_sdk = 'allow_group_channel_update_from_sdk',\n allow_super_group_channel = 'allow_super_group_channel',\n allow_non_operators_to_mention_channel = 'allow_non_operators_to_mention_channel',\n allow_file_messages_from_sdk = 'allow_file_messages_from_sdk',\n allow_open_channel_create_from_sdk = 'allow_open_channel_create_from_sdk',\n allow_anonymous_message_update = 'allow_anonymous_message_update',\n allow_group_channel_delete_from_sdk = 'allow_group_channel_delete_from_sdk',\n allow_operators_to_ban_operators = 'allow_operators_to_ban_operators',\n allow_operators_to_edit_operators = 'allow_operators_to_edit_operators',\n}\n\nexport enum PremiumFeatures {\n reactions = 'reactions',\n moderation_group = 'moderation_group',\n message_search_v3 = 'message_search_v3',\n data_export = 'data_export',\n migration = 'migration',\n delivery_receipt = 'delivery_receipt',\n auto_thumbnail = 'auto_thumbnail',\n image_moderation = 'image_moderation',\n super_group_channel = 'super_group_channel',\n announcement = 'announcement',\n moderation_open = 'moderation_open',\n desk = 'desk',\n bot_interface = 'bot_interface',\n auto_trans = 'auto_trans',\n}\n"],"mappings":"AAAA,WAAYA,qBAAZ;;WAAYA,qB;EAAAA,qB;EAAAA,qB;EAAAA,qB;EAAAA,qB;EAAAA,qB;EAAAA,qB;EAAAA,qB;EAAAA,qB;EAAAA,qB;EAAAA,qB;EAAAA,qB;EAAAA,qB;EAAAA,qB;EAAAA,qB;EAAAA,qB;EAAAA,qB;EAAAA,qB;EAAAA,qB;EAAAA,qB;EAAAA,qB;EAAAA,qB;EAAAA,qB;EAAAA,qB;EAAAA,qB;EAAAA,qB;GAAAA,qB,KAAAA,qB;;AA4BZ,WAAYC,eAAZ;;WAAYA,e;EAAAA,e;EAAAA,e;EAAAA,e;EAAAA,e;EAAAA,e;EAAAA,e;EAAAA,e;EAAAA,e;EAAAA,e;EAAAA,e;EAAAA,e;EAAAA,e;EAAAA,e;EAAAA,e;GAAAA,e,KAAAA,e"}
1
+ {"version":3,"names":["ApplicationAttributes","PremiumFeatures"],"sources":["attrs.ts"],"sourcesContent":["export enum ApplicationAttributes {\n reactions = 'reactions',\n message_search_v3 = 'message_search_v3',\n enable_og_tag = 'enable_og_tag',\n use_last_seen_at = 'use_last_seen_at',\n enable_message_threading = 'enable_message_threading',\n allow_message_update_from_sdk = 'allow_message_update_from_sdk',\n allow_group_channel_create_from_sdk = 'allow_group_channel_create_from_sdk',\n allow_migration_api = 'allow_migration_api',\n allow_only_operator_sdk_to_update_group_channel_image = 'allow_only_operator_sdk_to_update_group_channel_image',\n allow_user_update_from_sdk = 'allow_user_update_from_sdk',\n allow_broadcast_channel = 'allow_broadcast_channel',\n allow_sdk_file_message_urls = 'allow_sdk_file_message_urls',\n allow_group_channel_leave_from_sdk = 'allow_group_channel_leave_from_sdk',\n allow_user_list_from_sdk = 'allow_user_list_from_sdk',\n allow_group_channel_invite_from_sdk = 'allow_group_channel_invite_from_sdk',\n allow_only_operator_sdk_to_update_group_channel_name = 'allow_only_operator_sdk_to_update_group_channel_name',\n allow_group_channel_update_from_sdk = 'allow_group_channel_update_from_sdk',\n allow_super_group_channel = 'allow_super_group_channel',\n allow_non_operators_to_mention_channel = 'allow_non_operators_to_mention_channel',\n allow_file_messages_from_sdk = 'allow_file_messages_from_sdk',\n allow_open_channel_create_from_sdk = 'allow_open_channel_create_from_sdk',\n allow_anonymous_message_update = 'allow_anonymous_message_update',\n allow_group_channel_delete_from_sdk = 'allow_group_channel_delete_from_sdk',\n allow_operators_to_ban_operators = 'allow_operators_to_ban_operators',\n allow_operators_to_edit_operators = 'allow_operators_to_edit_operators',\n}\n\nexport enum PremiumFeatures {\n reactions = 'reactions',\n moderation_group = 'moderation_group',\n message_search_v3 = 'message_search_v3',\n data_export = 'data_export',\n migration = 'migration',\n delivery_receipt = 'delivery_receipt',\n auto_thumbnail = 'auto_thumbnail',\n image_moderation = 'image_moderation',\n super_group_channel = 'super_group_channel',\n announcement = 'announcement',\n moderation_open = 'moderation_open',\n desk = 'desk',\n bot_interface = 'bot_interface',\n auto_trans = 'auto_trans',\n}\n"],"mappings":"AAAA,WAAYA,qBAAqB,0BAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAAA,OAArBA,qBAAqB;AAAA;AA4BjC,WAAYC,eAAe,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA"}
@@ -1,5 +1,4 @@
1
1
  import { BufferedRequest } from '../shared/bufferedRequest';
2
-
3
2
  /**
4
3
  * Diff utils for channel
5
4
  * @param {SendbirdBaseChannel} [a]