Skip to content

Commit 5dd0f20

Browse files
committed
refactor: rename message composer middleware ids
1 parent b4a1541 commit 5dd0f20

16 files changed

+92
-115
lines changed

src/messageComposer/middleware/messageComposer/MessageComposerMiddlewareExecutor.ts

+18-18
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
11
import { MiddlewareExecutor } from '../../../middleware';
22
import {
3-
createDraftTextComposerMiddleware,
4-
createTextComposerMiddleware,
3+
createDraftTextComposerCompositionMiddleware,
4+
createTextComposerCompositionMiddleware,
55
} from './textComposer';
66
import {
7-
createAttachmentsMiddleware,
8-
createDraftAttachmentsMiddleware,
7+
createAttachmentsCompositionMiddleware,
8+
createDraftAttachmentsCompositionMiddleware,
99
} from './attachments';
1010
import {
11-
createDraftLinkPreviewsMiddleware,
12-
createLinkPreviewsMiddleware,
11+
createDraftLinkPreviewsCompositionMiddleware,
12+
createLinkPreviewsCompositionMiddleware,
1313
} from './linkPreviews';
1414
import {
15-
createDraftMessageComposerStateMiddleware,
16-
createMessageComposerStateMiddleware,
15+
createDraftMessageComposerStateCompositionMiddleware,
16+
createMessageComposerStateCompositionMiddleware,
1717
} from './messageComposerState';
1818
import {
1919
createCompositionValidationMiddleware,
2020
createDraftCompositionValidationMiddleware,
2121
} from './compositionValidation';
22-
import { createCleanDataMiddleware } from './cleanData';
22+
import { createCompositionDataCleanupMiddleware } from './cleanData';
2323
import type {
2424
MessageComposerMiddlewareExecutorOptions,
2525
MessageComposerMiddlewareValueState,
@@ -34,12 +34,12 @@ export class MessageComposerMiddlewareExecutor extends MiddlewareExecutor<Messag
3434
// todo: document how to add custom data to a composed message using middleware
3535
// or adding custom composer components (apart from AttachmentsManager, TextComposer etc.)
3636
this.use([
37-
createTextComposerMiddleware(composer),
38-
createAttachmentsMiddleware(composer),
39-
createLinkPreviewsMiddleware(composer),
40-
createMessageComposerStateMiddleware(composer),
37+
createTextComposerCompositionMiddleware(composer),
38+
createAttachmentsCompositionMiddleware(composer),
39+
createLinkPreviewsCompositionMiddleware(composer),
40+
createMessageComposerStateCompositionMiddleware(composer),
4141
createCompositionValidationMiddleware(composer),
42-
createCleanDataMiddleware(composer),
42+
createCompositionDataCleanupMiddleware(composer),
4343
]);
4444
}
4545
}
@@ -50,10 +50,10 @@ export class MessageDraftComposerMiddlewareExecutor extends MiddlewareExecutor<M
5050
// todo: document how to add custom data to a composed message using middleware
5151
// or adding custom composer components (apart from AttachmentsManager, TextComposer etc.)
5252
this.use([
53-
createDraftTextComposerMiddleware(composer),
54-
createDraftAttachmentsMiddleware(composer),
55-
createDraftLinkPreviewsMiddleware(composer),
56-
createDraftMessageComposerStateMiddleware(composer),
53+
createDraftTextComposerCompositionMiddleware(composer),
54+
createDraftAttachmentsCompositionMiddleware(composer),
55+
createDraftLinkPreviewsCompositionMiddleware(composer),
56+
createDraftMessageComposerStateCompositionMiddleware(composer),
5757
createDraftCompositionValidationMiddleware(composer),
5858
]);
5959
}

src/messageComposer/middleware/messageComposer/attachments.ts

+6-4
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ const localAttachmentToAttachment = (localAttachment: LocalAttachment) => {
1212
return attachment as Attachment;
1313
};
1414

15-
export const createAttachmentsMiddleware = (composer: MessageComposer) => ({
16-
id: 'attachments',
15+
export const createAttachmentsCompositionMiddleware = (composer: MessageComposer) => ({
16+
id: 'stream-io/message-composer-middleware/attachments',
1717
compose: ({
1818
input,
1919
nextHandler,
@@ -61,8 +61,10 @@ export const createAttachmentsMiddleware = (composer: MessageComposer) => ({
6161
},
6262
});
6363

64-
export const createDraftAttachmentsMiddleware = (composer: MessageComposer) => ({
65-
id: 'attachments',
64+
export const createDraftAttachmentsCompositionMiddleware = (
65+
composer: MessageComposer,
66+
) => ({
67+
id: 'stream-io/message-composer-middleware/draft-attachments',
6668
compose: ({
6769
input,
6870
nextHandler,

src/messageComposer/middleware/messageComposer/cleanData.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ import { formatMessage, toUpdatedMessagePayload } from '../../../utils';
22
import type { MessageComposer } from '../../messageComposer';
33
import type { MessageComposerMiddlewareValue } from './types';
44

5-
export const createCleanDataMiddleware = (composer: MessageComposer) => ({
6-
id: 'cleanData',
5+
export const createCompositionDataCleanupMiddleware = (composer: MessageComposer) => ({
6+
id: 'stream-io/message-composer-middleware/data-cleanup',
77
compose: ({
88
input,
99
nextHandler,

src/messageComposer/middleware/messageComposer/compositionValidation.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { textIsEmpty } from '../../textComposer';
66
import type { MessageComposer } from '../../messageComposer';
77

88
export const createCompositionValidationMiddleware = (composer: MessageComposer) => ({
9-
id: 'validation',
9+
id: 'stream-io/message-composer-middleware/data-validation',
1010
compose: async ({
1111
input,
1212
nextHandler,
@@ -32,7 +32,7 @@ export const createCompositionValidationMiddleware = (composer: MessageComposer)
3232
export const createDraftCompositionValidationMiddleware = (
3333
composer: MessageComposer,
3434
) => ({
35-
id: 'validation',
35+
id: 'stream-io/message-composer-middleware/draft-data-validation',
3636
compose: async ({
3737
input,
3838
nextHandler,

src/messageComposer/middleware/messageComposer/linkPreviews.ts

+6-4
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ import type {
55
import type { MessageComposer } from '../../messageComposer';
66
import type { Attachment } from '../../../types';
77

8-
export const createLinkPreviewsMiddleware = (composer: MessageComposer) => ({
9-
id: 'linkPreviews',
8+
export const createLinkPreviewsCompositionMiddleware = (composer: MessageComposer) => ({
9+
id: 'stream-io/message-composer-middleware/link-previews',
1010
compose: ({
1111
input,
1212
nextHandler,
@@ -59,8 +59,10 @@ export const createLinkPreviewsMiddleware = (composer: MessageComposer) => ({
5959
},
6060
});
6161

62-
export const createDraftLinkPreviewsMiddleware = (composer: MessageComposer) => ({
63-
id: 'linkPreviews',
62+
export const createDraftLinkPreviewsCompositionMiddleware = (
63+
composer: MessageComposer,
64+
) => ({
65+
id: 'stream-io/message-composer-middleware/draft-link-previews',
6466
compose: ({
6567
input,
6668
nextHandler,

src/messageComposer/middleware/messageComposer/messageComposerState.ts

+8-4
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,10 @@ import type {
55
import type { MessageComposer } from '../../messageComposer';
66
import type { LocalMessage, LocalMessageBase } from '../../../types';
77

8-
export const createMessageComposerStateMiddleware = (composer: MessageComposer) => ({
9-
id: 'messageComposerState',
8+
export const createMessageComposerStateCompositionMiddleware = (
9+
composer: MessageComposer,
10+
) => ({
11+
id: 'stream-io/message-composer-middleware/own-state',
1012
compose: ({
1113
input,
1214
nextHandler,
@@ -42,8 +44,10 @@ export const createMessageComposerStateMiddleware = (composer: MessageComposer)
4244
},
4345
});
4446

45-
export const createDraftMessageComposerStateMiddleware = (composer: MessageComposer) => ({
46-
id: 'messageComposerState',
47+
export const createDraftMessageComposerStateCompositionMiddleware = (
48+
composer: MessageComposer,
49+
) => ({
50+
id: 'stream-io/message-composer-middleware/draft-own-state',
4751
compose: ({
4852
input,
4953
nextHandler,

src/messageComposer/middleware/messageComposer/textComposer.ts

+6-4
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ import type {
44
} from './types';
55
import type { MessageComposer } from '../../messageComposer';
66

7-
export const createTextComposerMiddleware = (composer: MessageComposer) => ({
8-
id: 'textComposerState',
7+
export const createTextComposerCompositionMiddleware = (composer: MessageComposer) => ({
8+
id: 'stream-io/message-composer-middleware/text-composition',
99
compose: ({
1010
input,
1111
nextHandler,
@@ -50,8 +50,10 @@ export const createTextComposerMiddleware = (composer: MessageComposer) => ({
5050
},
5151
});
5252

53-
export const createDraftTextComposerMiddleware = (composer: MessageComposer) => ({
54-
id: 'textComposerState',
53+
export const createDraftTextComposerCompositionMiddleware = (
54+
composer: MessageComposer,
55+
) => ({
56+
id: 'stream-io/message-composer-middleware/draft-text-composition',
5557
compose: ({
5658
input,
5759
nextHandler,

src/messageComposer/middleware/pollComposer/PollComposerMiddlewareExecutor.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { MiddlewareExecutor } from '../../../middleware';
22
import { createPollComposerStateMiddleware } from './state';
3-
import { createPollComposerValidationMiddleware } from './composition';
3+
import { createPollCompositionValidationMiddleware } from './composition';
44
import type {
55
PollComposerCompositionMiddlewareValueState,
66
PollComposerStateMiddlewareValueState,
@@ -14,7 +14,7 @@ export type PollComposerMiddlewareExecutorOptions = {
1414
export class PollComposerCompositionMiddlewareExecutor extends MiddlewareExecutor<PollComposerCompositionMiddlewareValueState> {
1515
constructor({ composer }: PollComposerMiddlewareExecutorOptions) {
1616
super();
17-
this.use([createPollComposerValidationMiddleware(composer)]);
17+
this.use([createPollCompositionValidationMiddleware(composer)]);
1818
}
1919
}
2020

src/messageComposer/middleware/pollComposer/composition.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@ import type { Middleware } from '../../../middleware';
22
import type { MessageComposer } from '../../messageComposer';
33
import type { PollComposerCompositionMiddlewareValueState } from './types';
44

5-
export const createPollComposerValidationMiddleware = (
5+
export const createPollCompositionValidationMiddleware = (
66
composer: MessageComposer,
77
): Middleware<PollComposerCompositionMiddlewareValueState> => ({
8-
id: 'pollComposerComposition',
8+
id: 'stream-io/poll-composer-composition',
99
compose: ({ input, nextHandler }) => {
1010
if (composer.pollComposer.canCreatePoll) return nextHandler(input);
1111
return nextHandler({ ...input, status: 'discard' });

src/messageComposer/middleware/pollComposer/state.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ const processors: Partial<Record<keyof PollComposerState['data'], Processor>> =
120120

121121
export const createPollComposerStateMiddleware =
122122
(): Middleware<PollComposerStateMiddlewareValueState> => ({
123-
id: 'pollComposerStateProcessing',
123+
id: 'stream-io/poll-composer-state-processing',
124124
handleFieldChange: ({ input, nextHandler }) => {
125125
if (!input.state.targetFields) return nextHandler(input);
126126
const {

test/unit/MessageComposer/middleware/messageComposer/attachments.test.ts

+11-15
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,18 @@ import { beforeEach, describe, expect, it, vi } from 'vitest';
22
import { Channel } from '../../../../../src/channel';
33
import { StreamChat } from '../../../../../src/client';
44
import { MessageComposer } from '../../../../../src/messageComposer/messageComposer';
5-
import { createAttachmentsMiddleware } from '../../../../../src/messageComposer/middleware/messageComposer/attachments';
5+
import { createAttachmentsCompositionMiddleware } from '../../../../../src/messageComposer/middleware/messageComposer/attachments';
66
import {
77
AttachmentLoadingState,
88
LocalImageAttachment,
99
} from '../../../../../src/messageComposer/types';
10-
import { createDraftAttachmentsMiddleware } from '../../../../../src/messageComposer/middleware/messageComposer/attachments';
10+
import { createDraftAttachmentsCompositionMiddleware } from '../../../../../src/messageComposer/middleware/messageComposer/attachments';
1111

1212
describe('AttachmentsMiddleware', () => {
1313
let channel: Channel;
1414
let client: StreamChat;
1515
let messageComposer: MessageComposer;
16-
let attachmentsMiddleware: ReturnType<typeof createAttachmentsMiddleware>;
16+
let attachmentsMiddleware: ReturnType<typeof createAttachmentsCompositionMiddleware>;
1717

1818
beforeEach(() => {
1919
client = {
@@ -100,11 +100,7 @@ describe('AttachmentsMiddleware', () => {
100100
},
101101
} as any;
102102

103-
attachmentsMiddleware = createAttachmentsMiddleware(messageComposer);
104-
});
105-
106-
it('should initialize with correct id', () => {
107-
expect(attachmentsMiddleware.id).toBe('attachments');
103+
attachmentsMiddleware = createAttachmentsCompositionMiddleware(messageComposer);
108104
});
109105

110106
it('should handle message without attachments', async () => {
@@ -371,7 +367,9 @@ describe('DraftAttachmentsMiddleware', () => {
371367
let channel: Channel;
372368
let client: StreamChat;
373369
let messageComposer: MessageComposer;
374-
let draftAttachmentsMiddleware: ReturnType<typeof createDraftAttachmentsMiddleware>;
370+
let draftAttachmentsMiddleware: ReturnType<
371+
typeof createDraftAttachmentsCompositionMiddleware
372+
>;
375373

376374
beforeEach(() => {
377375
client = {
@@ -403,11 +401,8 @@ describe('DraftAttachmentsMiddleware', () => {
403401
attachmentManager,
404402
} as any;
405403

406-
draftAttachmentsMiddleware = createDraftAttachmentsMiddleware(messageComposer);
407-
});
408-
409-
it('should initialize with correct id', () => {
410-
expect(draftAttachmentsMiddleware.id).toBe('attachments');
404+
draftAttachmentsMiddleware =
405+
createDraftAttachmentsCompositionMiddleware(messageComposer);
411406
});
412407

413408
it('should handle draft without attachments', async () => {
@@ -507,7 +502,8 @@ describe('DraftAttachmentsMiddleware', () => {
507502

508503
it('should handle case when attachmentManager is not available', async () => {
509504
messageComposer.attachmentManager = undefined as any;
510-
draftAttachmentsMiddleware = createDraftAttachmentsMiddleware(messageComposer);
505+
draftAttachmentsMiddleware =
506+
createDraftAttachmentsCompositionMiddleware(messageComposer);
511507

512508
const result = await draftAttachmentsMiddleware.compose({
513509
input: {

test/unit/MessageComposer/middleware/messageComposer/compositionValidation.test.ts

-8
Original file line numberDiff line numberDiff line change
@@ -106,10 +106,6 @@ describe('MessageComposerValidationMiddleware', () => {
106106
validationMiddleware = createCompositionValidationMiddleware(messageComposer);
107107
});
108108

109-
it('should initialize with correct id', () => {
110-
expect(validationMiddleware.id).toBe('validation');
111-
});
112-
113109
it('should validate empty message', async () => {
114110
const result = await validationMiddleware.compose({
115111
input: {
@@ -432,10 +428,6 @@ describe('DraftCompositionValidationMiddleware', () => {
432428
validationMiddleware = createDraftCompositionValidationMiddleware(messageComposer);
433429
});
434430

435-
it('should initialize with correct id', () => {
436-
expect(validationMiddleware.id).toBe('validation');
437-
});
438-
439431
it('should discard empty draft', async () => {
440432
const result = await validationMiddleware.compose({
441433
input: {

test/unit/MessageComposer/middleware/messageComposer/linkPreviews.test.ts

+11-15
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@ import {
66
LinkPreviewStatus,
77
} from '../../../../../src/messageComposer/linkPreviewsManager';
88
import { MessageComposer } from '../../../../../src/messageComposer/messageComposer';
9-
import { createLinkPreviewsMiddleware } from '../../../../../src/messageComposer/middleware/messageComposer/linkPreviews';
10-
import { createDraftLinkPreviewsMiddleware } from '../../../../../src/messageComposer/middleware/messageComposer/linkPreviews';
9+
import { createLinkPreviewsCompositionMiddleware } from '../../../../../src/messageComposer/middleware/messageComposer/linkPreviews';
10+
import { createDraftLinkPreviewsCompositionMiddleware } from '../../../../../src/messageComposer/middleware/messageComposer/linkPreviews';
1111

1212
describe('LinkPreviewsMiddleware', () => {
1313
let channel: Channel;
1414
let client: StreamChat;
1515
let messageComposer: MessageComposer;
16-
let linkPreviewsMiddleware: ReturnType<typeof createLinkPreviewsMiddleware>;
16+
let linkPreviewsMiddleware: ReturnType<typeof createLinkPreviewsCompositionMiddleware>;
1717

1818
beforeEach(() => {
1919
// Create a real StreamChat instance with minimal implementation
@@ -45,11 +45,7 @@ describe('LinkPreviewsMiddleware', () => {
4545
messageComposer = channel.messageComposer;
4646

4747
// Create the middleware
48-
linkPreviewsMiddleware = createLinkPreviewsMiddleware(messageComposer);
49-
});
50-
51-
it('should initialize with correct id', () => {
52-
expect(linkPreviewsMiddleware.id).toBe('linkPreviews');
48+
linkPreviewsMiddleware = createLinkPreviewsCompositionMiddleware(messageComposer);
5349
});
5450

5551
it('should handle message without link previews', async () => {
@@ -582,7 +578,9 @@ describe('DraftLinkPreviewsMiddleware', () => {
582578
let channel: Channel;
583579
let client: StreamChat;
584580
let messageComposer: MessageComposer;
585-
let linkPreviewsMiddleware: ReturnType<typeof createDraftLinkPreviewsMiddleware>;
581+
let linkPreviewsMiddleware: ReturnType<
582+
typeof createDraftLinkPreviewsCompositionMiddleware
583+
>;
586584

587585
beforeEach(() => {
588586
client = {
@@ -617,11 +615,8 @@ describe('DraftLinkPreviewsMiddleware', () => {
617615
linkPreviewsManager,
618616
} as any;
619617

620-
linkPreviewsMiddleware = createDraftLinkPreviewsMiddleware(messageComposer);
621-
});
622-
623-
it('should initialize with correct id', () => {
624-
expect(linkPreviewsMiddleware.id).toBe('linkPreviews');
618+
linkPreviewsMiddleware =
619+
createDraftLinkPreviewsCompositionMiddleware(messageComposer);
625620
});
626621

627622
it('should handle draft without link previews', async () => {
@@ -734,7 +729,8 @@ describe('DraftLinkPreviewsMiddleware', () => {
734729

735730
it('should handle case when linkPreviewsManager is not available', async () => {
736731
messageComposer.linkPreviewsManager = undefined as any;
737-
linkPreviewsMiddleware = createDraftLinkPreviewsMiddleware(messageComposer);
732+
linkPreviewsMiddleware =
733+
createDraftLinkPreviewsCompositionMiddleware(messageComposer);
738734

739735
const result = await linkPreviewsMiddleware.compose({
740736
input: {

0 commit comments

Comments
 (0)