Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F32209816
D7655.1765128498.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
24 KB
Referenced Files
None
Subscribers
None
D7655.1765128498.diff
View Options
diff --git a/lib/shared/messages/add-members-message-spec.js b/lib/shared/messages/add-members-message-spec.js
--- a/lib/shared/messages/add-members-message-spec.js
+++ b/lib/shared/messages/add-members-message-spec.js
@@ -9,10 +9,11 @@
MessageInfo,
ClientDBMessageInfo,
} from '../../types/message-types.js';
-import type {
- AddMembersMessageData,
- AddMembersMessageInfo,
- RawAddMembersMessageInfo,
+import {
+ type AddMembersMessageData,
+ type AddMembersMessageInfo,
+ type RawAddMembersMessageInfo,
+ rawAddMembersMessageInfoValidator,
} from '../../types/messages/add-members.js';
import type { NotifTexts } from '../../types/notif-types.js';
import type { ThreadInfo } from '../../types/thread-types.js';
@@ -156,4 +157,6 @@
userIDs(rawMessageInfo: RawAddMembersMessageInfo): $ReadOnlyArray<string> {
return rawMessageInfo.addedUserIDs;
},
+
+ validator: rawAddMembersMessageInfoValidator,
});
diff --git a/lib/shared/messages/change-role-message-spec.js b/lib/shared/messages/change-role-message-spec.js
--- a/lib/shared/messages/change-role-message-spec.js
+++ b/lib/shared/messages/change-role-message-spec.js
@@ -14,10 +14,11 @@
MessageInfo,
ClientDBMessageInfo,
} from '../../types/message-types.js';
-import type {
- ChangeRoleMessageData,
- ChangeRoleMessageInfo,
- RawChangeRoleMessageInfo,
+import {
+ type ChangeRoleMessageData,
+ type ChangeRoleMessageInfo,
+ type RawChangeRoleMessageInfo,
+ rawChangeRoleMessageInfoValidator,
} from '../../types/messages/change-role.js';
import type { NotifTexts } from '../../types/notif-types.js';
import type { ThreadInfo } from '../../types/thread-types.js';
@@ -174,4 +175,6 @@
},
generatesNotifs: async () => pushTypes.NOTIF,
+
+ validator: rawChangeRoleMessageInfoValidator,
});
diff --git a/lib/shared/messages/change-settings-message-spec.js b/lib/shared/messages/change-settings-message-spec.js
--- a/lib/shared/messages/change-settings-message-spec.js
+++ b/lib/shared/messages/change-settings-message-spec.js
@@ -13,10 +13,11 @@
MessageInfo,
ClientDBMessageInfo,
} from '../../types/message-types.js';
-import type {
- ChangeSettingsMessageData,
- ChangeSettingsMessageInfo,
- RawChangeSettingsMessageInfo,
+import {
+ type ChangeSettingsMessageData,
+ type ChangeSettingsMessageInfo,
+ type RawChangeSettingsMessageInfo,
+ rawChangeSettingsMessageInfoValidator,
} from '../../types/messages/change-settings.js';
import type { NotifTexts } from '../../types/notif-types.js';
import { assertThreadType } from '../../types/thread-types.js';
@@ -173,4 +174,6 @@
},
generatesNotifs: async () => pushTypes.NOTIF,
+
+ validator: rawChangeSettingsMessageInfoValidator,
});
diff --git a/lib/shared/messages/create-entry-message-spec.js b/lib/shared/messages/create-entry-message-spec.js
--- a/lib/shared/messages/create-entry-message-spec.js
+++ b/lib/shared/messages/create-entry-message-spec.js
@@ -9,10 +9,11 @@
MessageInfo,
ClientDBMessageInfo,
} from '../../types/message-types.js';
-import type {
- CreateEntryMessageData,
- CreateEntryMessageInfo,
- RawCreateEntryMessageInfo,
+import {
+ type CreateEntryMessageData,
+ type CreateEntryMessageInfo,
+ type RawCreateEntryMessageInfo,
+ rawCreateEntryMessageInfoValidator,
} from '../../types/messages/create-entry.js';
import type { NotifTexts } from '../../types/notif-types.js';
import type { ThreadInfo } from '../../types/thread-types.js';
@@ -119,4 +120,6 @@
},
generatesNotifs: async () => pushTypes.NOTIF,
+
+ validator: rawCreateEntryMessageInfoValidator,
});
diff --git a/lib/shared/messages/create-sidebar-message-spec.js b/lib/shared/messages/create-sidebar-message-spec.js
--- a/lib/shared/messages/create-sidebar-message-spec.js
+++ b/lib/shared/messages/create-sidebar-message-spec.js
@@ -16,10 +16,11 @@
MessageInfo,
ClientDBMessageInfo,
} from '../../types/message-types.js';
-import type {
- CreateSidebarMessageData,
- CreateSidebarMessageInfo,
- RawCreateSidebarMessageInfo,
+import {
+ type CreateSidebarMessageData,
+ type CreateSidebarMessageInfo,
+ type RawCreateSidebarMessageInfo,
+ rawCreateSidebarMessageInfoValidator,
} from '../../types/messages/create-sidebar.js';
import type { RawUnsupportedMessageInfo } from '../../types/messages/unsupported.js';
import type { NotifTexts } from '../../types/notif-types.js';
@@ -227,4 +228,6 @@
const { parentThreadID } = rawMessageInfo.initialThreadState;
return [parentThreadID];
},
+
+ validator: rawCreateSidebarMessageInfoValidator,
});
diff --git a/lib/shared/messages/create-sub-thread-message-spec.js b/lib/shared/messages/create-sub-thread-message-spec.js
--- a/lib/shared/messages/create-sub-thread-message-spec.js
+++ b/lib/shared/messages/create-sub-thread-message-spec.js
@@ -15,10 +15,11 @@
MessageInfo,
ClientDBMessageInfo,
} from '../../types/message-types.js';
-import type {
- CreateSubthreadMessageData,
- CreateSubthreadMessageInfo,
- RawCreateSubthreadMessageInfo,
+import {
+ type CreateSubthreadMessageData,
+ type CreateSubthreadMessageInfo,
+ type RawCreateSubthreadMessageInfo,
+ rawCreateSubthreadMessageInfoValidator,
} from '../../types/messages/create-subthread.js';
import type { NotifTexts } from '../../types/notif-types.js';
import { threadPermissions, threadTypes } from '../../types/thread-types.js';
@@ -160,4 +161,6 @@
): $ReadOnlyArray<string> {
return [rawMessageInfo.childThreadID];
},
+
+ validator: rawCreateSubthreadMessageInfoValidator,
});
diff --git a/lib/shared/messages/create-thread-message-spec.js b/lib/shared/messages/create-thread-message-spec.js
--- a/lib/shared/messages/create-thread-message-spec.js
+++ b/lib/shared/messages/create-thread-message-spec.js
@@ -14,10 +14,11 @@
MessageInfo,
ClientDBMessageInfo,
} from '../../types/message-types.js';
-import type {
- CreateThreadMessageData,
- CreateThreadMessageInfo,
- RawCreateThreadMessageInfo,
+import {
+ type CreateThreadMessageData,
+ type CreateThreadMessageInfo,
+ type RawCreateThreadMessageInfo,
+ rawCreateThreadMessageInfoValidator,
} from '../../types/messages/create-thread.js';
import type { NotifTexts } from '../../types/notif-types.js';
import type { ThreadInfo } from '../../types/thread-types.js';
@@ -200,4 +201,6 @@
const { parentThreadID } = rawMessageInfo.initialThreadState;
return parentThreadID ? [parentThreadID] : [];
},
+
+ validator: rawCreateThreadMessageInfoValidator,
});
diff --git a/lib/shared/messages/delete-entry-message-spec.js b/lib/shared/messages/delete-entry-message-spec.js
--- a/lib/shared/messages/delete-entry-message-spec.js
+++ b/lib/shared/messages/delete-entry-message-spec.js
@@ -9,10 +9,11 @@
MessageInfo,
ClientDBMessageInfo,
} from '../../types/message-types.js';
-import type {
- DeleteEntryMessageData,
- DeleteEntryMessageInfo,
- RawDeleteEntryMessageInfo,
+import {
+ type DeleteEntryMessageData,
+ type DeleteEntryMessageInfo,
+ type RawDeleteEntryMessageInfo,
+ rawDeleteEntryMessageInfoValidator,
} from '../../types/messages/delete-entry.js';
import type { NotifTexts } from '../../types/notif-types.js';
import type { ThreadInfo } from '../../types/thread-types.js';
@@ -134,4 +135,6 @@
},
generatesNotifs: async () => pushTypes.NOTIF,
+
+ validator: rawDeleteEntryMessageInfoValidator,
});
diff --git a/lib/shared/messages/edit-entry-message-spec.js b/lib/shared/messages/edit-entry-message-spec.js
--- a/lib/shared/messages/edit-entry-message-spec.js
+++ b/lib/shared/messages/edit-entry-message-spec.js
@@ -9,10 +9,11 @@
MessageInfo,
ClientDBMessageInfo,
} from '../../types/message-types.js';
-import type {
- EditEntryMessageData,
- EditEntryMessageInfo,
- RawEditEntryMessageInfo,
+import {
+ type EditEntryMessageData,
+ type EditEntryMessageInfo,
+ type RawEditEntryMessageInfo,
+ rawEditEntryMessageInfoValidator,
} from '../../types/messages/edit-entry.js';
import type { NotifTexts } from '../../types/notif-types.js';
import type { ThreadInfo } from '../../types/thread-types.js';
@@ -119,4 +120,6 @@
},
generatesNotifs: async () => pushTypes.NOTIF,
+
+ validator: rawEditEntryMessageInfoValidator,
});
diff --git a/lib/shared/messages/edit-message-spec.js b/lib/shared/messages/edit-message-spec.js
--- a/lib/shared/messages/edit-message-spec.js
+++ b/lib/shared/messages/edit-message-spec.js
@@ -9,10 +9,11 @@
messageTypes,
} from '../../types/message-types-enum.js';
import { type ClientDBMessageInfo } from '../../types/message-types.js';
-import type {
- EditMessageData,
- RawEditMessageInfo,
- EditMessageInfo,
+import {
+ type EditMessageData,
+ type RawEditMessageInfo,
+ type EditMessageInfo,
+ rawEditMessageInfoValidator,
} from '../../types/messages/edit.js';
import type { RawUnsupportedMessageInfo } from '../../types/messages/unsupported.js';
import type { RelativeUserInfo } from '../../types/user-types.js';
@@ -140,4 +141,6 @@
},
generatesNotifs: async () => undefined,
+
+ validator: rawEditMessageInfoValidator,
});
diff --git a/lib/shared/messages/join-thread-message-spec.js b/lib/shared/messages/join-thread-message-spec.js
--- a/lib/shared/messages/join-thread-message-spec.js
+++ b/lib/shared/messages/join-thread-message-spec.js
@@ -9,10 +9,11 @@
MessageInfo,
ClientDBMessageInfo,
} from '../../types/message-types.js';
-import type {
- JoinThreadMessageData,
- JoinThreadMessageInfo,
- RawJoinThreadMessageInfo,
+import {
+ type JoinThreadMessageData,
+ type JoinThreadMessageInfo,
+ type RawJoinThreadMessageInfo,
+ rawJoinThreadMessageInfoValidator,
} from '../../types/messages/join-thread.js';
import type { NotifTexts } from '../../types/notif-types.js';
import type { ThreadInfo } from '../../types/thread-types.js';
@@ -119,4 +120,6 @@
},
generatesNotifs: async () => undefined,
+
+ validator: rawJoinThreadMessageInfoValidator,
});
diff --git a/lib/shared/messages/leave-thread-message-spec.js b/lib/shared/messages/leave-thread-message-spec.js
--- a/lib/shared/messages/leave-thread-message-spec.js
+++ b/lib/shared/messages/leave-thread-message-spec.js
@@ -9,10 +9,11 @@
MessageInfo,
ClientDBMessageInfo,
} from '../../types/message-types.js';
-import type {
- LeaveThreadMessageData,
- LeaveThreadMessageInfo,
- RawLeaveThreadMessageInfo,
+import {
+ type LeaveThreadMessageData,
+ type LeaveThreadMessageInfo,
+ type RawLeaveThreadMessageInfo,
+ rawLeaveThreadMessageInfoValidator,
} from '../../types/messages/leave-thread.js';
import type { NotifTexts } from '../../types/notif-types.js';
import type { ThreadInfo } from '../../types/thread-types.js';
@@ -119,4 +120,6 @@
},
generatesNotifs: async () => undefined,
+
+ validator: rawLeaveThreadMessageInfoValidator,
});
diff --git a/lib/shared/messages/message-spec.js b/lib/shared/messages/message-spec.js
--- a/lib/shared/messages/message-spec.js
+++ b/lib/shared/messages/message-spec.js
@@ -1,5 +1,7 @@
// @flow
+import type { TType } from 'tcomb';
+
import type { PlatformDetails } from '../../types/device-types.js';
import type { Media } from '../../types/media-types.js';
import type {
@@ -114,4 +116,5 @@
+threadIDs?: (rawMessageInfo: RawInfo) => $ReadOnlyArray<string>,
+includedInRepliesCount?: boolean,
+useCreationSideEffectsFunc?: () => CreationSideEffectsFunc<RawInfo>,
+ +validator: TType<RawInfo>,
};
diff --git a/lib/shared/messages/multimedia-message-spec.js b/lib/shared/messages/multimedia-message-spec.js
--- a/lib/shared/messages/multimedia-message-spec.js
+++ b/lib/shared/messages/multimedia-message-spec.js
@@ -18,7 +18,10 @@
assertMessageType,
messageTypes,
} from '../../types/message-types-enum.js';
-import { isMediaMessageType } from '../../types/message-types.js';
+import {
+ isMediaMessageType,
+ rawMultimediaMessageInfoValidator,
+} from '../../types/message-types.js';
import type {
MessageInfo,
RawMessageInfo,
@@ -323,6 +326,8 @@
) => (messageData.sidebarCreation ? undefined : pushTypes.NOTIF),
includedInRepliesCount: true,
+
+ validator: rawMultimediaMessageInfoValidator,
});
// Four photos were uploaded before dimensions were calculated server-side,
diff --git a/lib/shared/messages/reaction-message-spec.js b/lib/shared/messages/reaction-message-spec.js
--- a/lib/shared/messages/reaction-message-spec.js
+++ b/lib/shared/messages/reaction-message-spec.js
@@ -18,10 +18,11 @@
type MessageInfo,
type ClientDBMessageInfo,
} from '../../types/message-types.js';
-import type {
- ReactionMessageData,
- RawReactionMessageInfo,
- ReactionMessageInfo,
+import {
+ type ReactionMessageData,
+ type RawReactionMessageInfo,
+ type ReactionMessageInfo,
+ rawReactionMessageInfoValidator,
} from '../../types/messages/reaction.js';
import type { RawUnsupportedMessageInfo } from '../../types/messages/unsupported.js';
import type { NotifTexts } from '../../types/notif-types.js';
@@ -216,4 +217,6 @@
}
return action === 'add_reaction' ? pushTypes.NOTIF : pushTypes.RESCIND;
},
+
+ validator: rawReactionMessageInfoValidator,
});
diff --git a/lib/shared/messages/remove-members-message-spec.js b/lib/shared/messages/remove-members-message-spec.js
--- a/lib/shared/messages/remove-members-message-spec.js
+++ b/lib/shared/messages/remove-members-message-spec.js
@@ -9,10 +9,11 @@
MessageInfo,
ClientDBMessageInfo,
} from '../../types/message-types.js';
-import type {
- RawRemoveMembersMessageInfo,
- RemoveMembersMessageData,
- RemoveMembersMessageInfo,
+import {
+ type RawRemoveMembersMessageInfo,
+ type RemoveMembersMessageData,
+ type RemoveMembersMessageInfo,
+ rawRemoveMembersMessageInfoValidator,
} from '../../types/messages/remove-members.js';
import type { NotifTexts } from '../../types/notif-types.js';
import type { ThreadInfo } from '../../types/thread-types.js';
@@ -156,4 +157,6 @@
userIDs(rawMessageInfo: RawRemoveMembersMessageInfo): $ReadOnlyArray<string> {
return rawMessageInfo.removedUserIDs;
},
+
+ validator: rawRemoveMembersMessageInfoValidator,
});
diff --git a/lib/shared/messages/restore-entry-message-spec.js b/lib/shared/messages/restore-entry-message-spec.js
--- a/lib/shared/messages/restore-entry-message-spec.js
+++ b/lib/shared/messages/restore-entry-message-spec.js
@@ -9,10 +9,11 @@
MessageInfo,
ClientDBMessageInfo,
} from '../../types/message-types.js';
-import type {
- RawRestoreEntryMessageInfo,
- RestoreEntryMessageData,
- RestoreEntryMessageInfo,
+import {
+ type RawRestoreEntryMessageInfo,
+ type RestoreEntryMessageData,
+ type RestoreEntryMessageInfo,
+ rawRestoreEntryMessageInfoValidator,
} from '../../types/messages/restore-entry.js';
import type { NotifTexts } from '../../types/notif-types.js';
import type { ThreadInfo } from '../../types/thread-types.js';
@@ -134,4 +135,6 @@
},
generatesNotifs: async () => pushTypes.NOTIF,
+
+ validator: rawRestoreEntryMessageInfoValidator,
});
diff --git a/lib/shared/messages/sidebar-source-message-spec.js b/lib/shared/messages/sidebar-source-message-spec.js
--- a/lib/shared/messages/sidebar-source-message-spec.js
+++ b/lib/shared/messages/sidebar-source-message-spec.js
@@ -17,6 +17,7 @@
type SidebarSourceMessageInfo,
type ClientDBMessageInfo,
isMessageSidebarSourceReactionOrEdit,
+ rawSidebarSourceMessageInfoValidator,
} from '../../types/message-types.js';
import type { RawUnsupportedMessageInfo } from '../../types/messages/unsupported.js';
import type { NotifTexts } from '../../types/notif-types.js';
@@ -173,4 +174,6 @@
generatesNotifs: async () => pushTypes.NOTIF,
startsThread: true,
+
+ validator: rawSidebarSourceMessageInfoValidator,
});
diff --git a/lib/shared/messages/text-message-spec.js b/lib/shared/messages/text-message-spec.js
--- a/lib/shared/messages/text-message-spec.js
+++ b/lib/shared/messages/text-message-spec.js
@@ -19,10 +19,11 @@
MessageInfo,
ClientDBMessageInfo,
} from '../../types/message-types.js';
-import type {
- RawTextMessageInfo,
- TextMessageData,
- TextMessageInfo,
+import {
+ type RawTextMessageInfo,
+ type TextMessageData,
+ type TextMessageInfo,
+ rawTextMessageInfoValidator,
} from '../../types/messages/text.js';
import type { NotifTexts } from '../../types/notif-types.js';
import { threadTypes } from '../../types/thread-types.js';
@@ -312,4 +313,6 @@
await addMembersPromise;
};
},
+
+ validator: rawTextMessageInfoValidator,
});
diff --git a/lib/shared/messages/toggle-pin-message-spec.js b/lib/shared/messages/toggle-pin-message-spec.js
--- a/lib/shared/messages/toggle-pin-message-spec.js
+++ b/lib/shared/messages/toggle-pin-message-spec.js
@@ -10,10 +10,11 @@
import type { PlatformDetails } from '../../types/device-types';
import { messageTypes } from '../../types/message-types-enum.js';
import type { ClientDBMessageInfo } from '../../types/message-types.js';
-import type {
- TogglePinMessageData,
- TogglePinMessageInfo,
- RawTogglePinMessageInfo,
+import {
+ type TogglePinMessageData,
+ type TogglePinMessageInfo,
+ type RawTogglePinMessageInfo,
+ rawTogglePinMessageInfoValidator,
} from '../../types/messages/toggle-pin.js';
import type { RawUnsupportedMessageInfo } from '../../types/messages/unsupported';
import type { RelativeUserInfo } from '../../types/user-types.js';
@@ -155,4 +156,6 @@
},
generatesNotifs: async () => undefined,
+
+ validator: rawTogglePinMessageInfoValidator,
});
diff --git a/lib/shared/messages/unsupported-message-spec.js b/lib/shared/messages/unsupported-message-spec.js
--- a/lib/shared/messages/unsupported-message-spec.js
+++ b/lib/shared/messages/unsupported-message-spec.js
@@ -5,9 +5,10 @@
import { pushTypes, type MessageSpec } from './message-spec.js';
import { messageTypes } from '../../types/message-types-enum.js';
import { type ClientDBMessageInfo } from '../../types/message-types.js';
-import type {
- RawUnsupportedMessageInfo,
- UnsupportedMessageInfo,
+import {
+ type RawUnsupportedMessageInfo,
+ type UnsupportedMessageInfo,
+ rawUnsupportedMessageInfoValidator,
} from '../../types/messages/unsupported.js';
import type { RelativeUserInfo } from '../../types/user-types.js';
import { ET, type EntityText } from '../../utils/entity-text.js';
@@ -72,4 +73,6 @@
},
generatesNotifs: async () => pushTypes.NOTIF,
+
+ validator: rawUnsupportedMessageInfoValidator,
});
diff --git a/lib/shared/messages/update-relationship-message-spec.js b/lib/shared/messages/update-relationship-message-spec.js
--- a/lib/shared/messages/update-relationship-message-spec.js
+++ b/lib/shared/messages/update-relationship-message-spec.js
@@ -15,10 +15,11 @@
ClientDBMessageInfo,
} from '../../types/message-types.js';
import type { RawUnsupportedMessageInfo } from '../../types/messages/unsupported.js';
-import type {
- RawUpdateRelationshipMessageInfo,
- UpdateRelationshipMessageData,
- UpdateRelationshipMessageInfo,
+import {
+ type RawUpdateRelationshipMessageInfo,
+ type UpdateRelationshipMessageData,
+ type UpdateRelationshipMessageInfo,
+ rawUpdateRelationshipMessageInfoValidator,
} from '../../types/messages/update-relationship.js';
import type { NotifTexts } from '../../types/notif-types.js';
import type { ThreadInfo } from '../../types/thread-types.js';
@@ -175,4 +176,6 @@
},
generatesNotifs: async () => pushTypes.NOTIF,
+
+ validator: rawUpdateRelationshipMessageInfoValidator,
});
diff --git a/lib/types/message-types.js b/lib/types/message-types.js
--- a/lib/types/message-types.js
+++ b/lib/types/message-types.js
@@ -239,10 +239,8 @@
export type RawMultimediaMessageInfo =
| RawImagesMessageInfo
| RawMediaMessageInfo;
-const rawMultimediaMessageInfoValidator = t.union([
- rawImagesMessageInfoValidator,
- rawMediaMessageInfoValidator,
-]);
+export const rawMultimediaMessageInfoValidator: TUnion<RawMultimediaMessageInfo> =
+ t.union([rawImagesMessageInfoValidator, rawMediaMessageInfoValidator]);
export type RawComposableMessageInfo =
| RawTextMessageInfo
diff --git a/lib/types/validation.test.js b/lib/types/validation.test.js
--- a/lib/types/validation.test.js
+++ b/lib/types/validation.test.js
@@ -8,28 +8,7 @@
mediaValidator,
} from './media-types.js';
import { messageTypes } from './message-types-enum.js';
-import { rawSidebarSourceMessageInfoValidator } from './message-types.js';
-import { rawAddMembersMessageInfoValidator } from './messages/add-members.js';
-import { rawChangeRoleMessageInfoValidator } from './messages/change-role.js';
-import { rawChangeSettingsMessageInfoValidator } from './messages/change-settings.js';
-import { rawCreateEntryMessageInfoValidator } from './messages/create-entry.js';
-import { rawCreateSidebarMessageInfoValidator } from './messages/create-sidebar.js';
-import { rawCreateSubthreadMessageInfoValidator } from './messages/create-subthread.js';
-import { rawCreateThreadMessageInfoValidator } from './messages/create-thread.js';
-import { rawDeleteEntryMessageInfoValidator } from './messages/delete-entry.js';
-import { rawEditEntryMessageInfoValidator } from './messages/edit-entry.js';
-import { rawEditMessageInfoValidator } from './messages/edit.js';
-import { rawImagesMessageInfoValidator } from './messages/images.js';
-import { rawJoinThreadMessageInfoValidator } from './messages/join-thread.js';
-import { rawLeaveThreadMessageInfoValidator } from './messages/leave-thread.js';
-import { rawMediaMessageInfoValidator } from './messages/media.js';
-import { rawReactionMessageInfoValidator } from './messages/reaction.js';
-import { rawRemoveMembersMessageInfoValidator } from './messages/remove-members.js';
-import { rawRestoreEntryMessageInfoValidator } from './messages/restore-entry.js';
-import { rawTextMessageInfoValidator } from './messages/text.js';
-import { rawTogglePinMessageInfoValidator } from './messages/toggle-pin.js';
-import { rawUnsupportedMessageInfoValidator } from './messages/unsupported.js';
-import { rawUpdateRelationshipMessageInfoValidator } from './messages/update-relationship.js';
+import { messageSpecs } from '../shared/messages/message-specs.js';
describe('media validation', () => {
const photo = {
@@ -314,45 +293,25 @@
},
];
- const validatorByMessageType = {
- '0': rawTextMessageInfoValidator,
- '1': rawCreateThreadMessageInfoValidator,
- '2': rawAddMembersMessageInfoValidator,
- '3': rawCreateSubthreadMessageInfoValidator,
- '4': rawChangeSettingsMessageInfoValidator,
- '5': rawRemoveMembersMessageInfoValidator,
- '6': rawChangeRoleMessageInfoValidator,
- '7': rawLeaveThreadMessageInfoValidator,
- '8': rawJoinThreadMessageInfoValidator,
- '9': rawCreateEntryMessageInfoValidator,
- '10': rawEditEntryMessageInfoValidator,
- '11': rawDeleteEntryMessageInfoValidator,
- '12': rawRestoreEntryMessageInfoValidator,
- '13': rawUnsupportedMessageInfoValidator,
- '14': rawImagesMessageInfoValidator,
- '15': rawMediaMessageInfoValidator,
- '16': rawUpdateRelationshipMessageInfoValidator,
- '17': rawSidebarSourceMessageInfoValidator,
- '18': rawCreateSidebarMessageInfoValidator,
- '19': rawReactionMessageInfoValidator,
- '20': rawEditMessageInfoValidator,
- '21': rawTogglePinMessageInfoValidator,
- };
-
- for (const validatorMessageType in validatorByMessageType) {
- const validator = validatorByMessageType[validatorMessageType];
- const validatorMessageTypeName = _findKey(
- e => e === Number(validatorMessageType),
- )(messageTypes);
+ for (const validatorMessageTypeName in messageTypes) {
+ const validatorMessageType = messageTypes[validatorMessageTypeName];
+ const validator = messageSpecs[validatorMessageType].validator;
for (const message of messages) {
const messageTypeName = _findKey(e => e === message.type)(messageTypes);
- if (Number(validatorMessageType) === message.type) {
+ if (validatorMessageType === message.type) {
it(`${validatorMessageTypeName} should validate ${messageTypeName}`, () => {
expect(validator.is(message)).toBe(true);
});
- } else {
+ } else if (
+ !(
+ (validatorMessageType === messageTypes.IMAGES &&
+ message.type === messageTypes.MULTIMEDIA) ||
+ (validatorMessageType === messageTypes.MULTIMEDIA &&
+ message.type === messageTypes.IMAGES)
+ )
+ ) {
it(`${validatorMessageTypeName} shouldn't validate ${messageTypeName}`, () => {
expect(validator.is(message)).toBe(false);
});
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sun, Dec 7, 5:28 PM (17 h, 36 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5845164
Default Alt Text
D7655.1765128498.diff (24 KB)
Attached To
Mode
D7655: [lib] Add validator to the message spec
Attached
Detach File
Event Timeline
Log In to Comment