Skip to content

Commit 3a7a9bc

Browse files
committed
Clean up
1 parent b453ce1 commit 3a7a9bc

3 files changed

Lines changed: 18 additions & 16 deletions

File tree

packages/acs-chat-adapter/src/ACSChatAdapter.tsx

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import ActivitiesComposer from './composers/ActivitiesComposer';
1212
import createDebug from './utils/debug';
1313
import EmitTypingComposer from './composers/EmitTypingComposer';
1414
import HonorReadReceiptsComposer from './composers/HonorReadReceiptsComposer';
15+
import ResolvableToken from './types/ResolvableToken';
1516
import resolveFunction from './utils/resolveFunction';
1617
import SendMessageComposer from './composers/SendMessageComposer';
1718
import styleConsole from './utils/styleConsole';
@@ -79,8 +80,6 @@ InternalACSChatAdapter.propTypes = {
7980
).isRequired
8081
};
8182

82-
type ResolvableToken = string | Promise<string> | (() => string) | (() => Promise<string>);
83-
8483
const ACSChatAdapter: FC<{
8584
// TODO: We should type "children" prop.
8685
/* eslint-disable-next-line @typescript-eslint/no-explicit-any */
@@ -129,11 +128,10 @@ const ACSChatAdapter: FC<{
129128
const credentialsProvided = !!(endpointURL && initialToken && threadId);
130129

131130
return credentialsProvided ? (
132-
<ACSClientsComposer endpointURL={endpointURL} threadId={threadId} token={initialToken}>
131+
<ACSClientsComposer endpointURL={endpointURL} threadId={threadId} token={token}>
133132
<ACSChatMessagesComposer>
134133
<ACSParticipantsComposer>
135134
<ACSReadReceiptsComposer>
136-
{/* <KeyOfChatMessageComposer> */}
137135
<SendMessageComposer>
138136
<ActivitiesComposer userProfiles={patchedUserProfiles}>
139137
<HonorReadReceiptsComposer>
@@ -156,7 +154,6 @@ const ACSChatAdapter: FC<{
156154
</HonorReadReceiptsComposer>
157155
</ActivitiesComposer>
158156
</SendMessageComposer>
159-
{/* </KeyOfChatMessageComposer> */}
160157
</ACSReadReceiptsComposer>
161158
</ACSParticipantsComposer>
162159
</ACSChatMessagesComposer>

packages/acs-chat-adapter/src/composers/ACSClientsComposer.tsx

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ import React, { FC, useEffect, useMemo, useState } from 'react';
66

77
import { default as ACSDeclarativesContext } from '../contexts/ACSClientsContext';
88
import createDebug from '../utils/debug';
9+
import ResolvableToken from '../types/ResolvableToken';
10+
import resolveFunction from '../utils/resolveFunction';
911
import styleConsole from '../utils/styleConsole';
1012

1113
// TODO: This is from acs-ui-sdk, we need it.
@@ -28,7 +30,7 @@ let debug;
2830

2931
// TODO: Type "children".
3032
// eslint-disable-next-line @typescript-eslint/no-explicit-any
31-
const ACSDeclarativesComposer: FC<{ children: any; endpointURL: string; threadId: string; token: string }> = ({
33+
const ACSClientsComposer: FC<{ children: any; endpointURL: string; threadId: string; token: ResolvableToken }> = ({
3234
children,
3335
endpointURL,
3436
threadId,
@@ -40,12 +42,12 @@ const ACSDeclarativesComposer: FC<{ children: any; endpointURL: string; threadId
4042
const credentials = useMemo<{ dispose(): void; getToken(): Promise<{ expiresOnTimestamp: number; token: string }> }>(
4143
() => ({
4244
dispose: () => undefined,
43-
getToken: () =>
44-
Promise.resolve({
45-
// TODO: Should we extract the expiry from the token?
46-
expiresOnTimestamp: Infinity,
47-
token
48-
})
45+
getToken: async () => {
46+
const actualToken = await resolveFunction(token);
47+
48+
// TODO: Should we extract the expiry from the token?
49+
return { expiresOnTimestamp: Infinity, token: actualToken };
50+
}
4951
}),
5052
[token]
5153
);
@@ -119,15 +121,15 @@ const ACSDeclarativesComposer: FC<{ children: any; endpointURL: string; threadId
119121
return <ACSDeclarativesContext.Provider value={context}>{children}</ACSDeclarativesContext.Provider>;
120122
};
121123

122-
ACSDeclarativesComposer.defaultProps = {
124+
ACSClientsComposer.defaultProps = {
123125
children: undefined
124126
};
125127

126-
ACSDeclarativesComposer.propTypes = {
128+
ACSClientsComposer.propTypes = {
127129
children: PropTypes.any,
128130
endpointURL: PropTypes.string.isRequired,
129131
threadId: PropTypes.string.isRequired,
130-
token: PropTypes.string.isRequired
132+
token: PropTypes.oneOfType([PropTypes.func, PropTypes.string]).isRequired
131133
};
132134

133-
export default ACSDeclarativesComposer;
135+
export default ACSClientsComposer;
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
type ResolvableToken = string | Promise<string> | (() => string) | (() => Promise<string>);
2+
3+
export default ResolvableToken;

0 commit comments

Comments
 (0)