Update all type methods to use property syntax

Co-authored-by: Jamie <113370520+jamiebuilds-signal@users.noreply.github.com>
This commit is contained in:
automated-signal
2026-05-26 15:52:29 -05:00
committed by GitHub
parent 8a0677572c
commit 2b1952ded3
53 changed files with 295 additions and 283 deletions
+9 -9
View File
@@ -30,9 +30,9 @@ export type CIType = {
deviceName: string;
getConversationId: (address: string | null) => string | null;
createNotificationToken: (address: string) => string | undefined;
getMessagesBySentAt(
getMessagesBySentAt: (
sentAt: number
): Promise<ReadonlyArray<MessageAttributesType>>;
) => Promise<ReadonlyArray<MessageAttributesType>>;
getPendingEventCount: (event: string) => number;
getSocketStatus: () => SocketStatuses;
handleEvent: (event: string, data: unknown) => unknown;
@@ -46,16 +46,16 @@ export type CIType = {
ignorePastEvents?: boolean;
}
) => unknown;
openSignalRoute(url: string): Promise<void>;
migrateAllMessages(): Promise<void>;
exportLocalBackup(backupsBaseDir: string): Promise<string>;
stageLocalBackupForImport(snapshotDir: string): Promise<void>;
uploadBackup(): Promise<void>;
openSignalRoute: (url: string) => Promise<void>;
migrateAllMessages: () => Promise<void>;
exportLocalBackup: (backupsBaseDir: string) => Promise<string>;
stageLocalBackupForImport: (snapshotDir: string) => Promise<void>;
uploadBackup: () => Promise<void>;
unlink: () => void;
print: (...args: ReadonlyArray<unknown>) => void;
resetReleaseNoteAndMegaphoneFetcher(): void;
resetReleaseNoteAndMegaphoneFetcher: () => void;
forceUnprocessed: boolean;
setMediaPermissions(): Promise<void>;
setMediaPermissions: () => Promise<void>;
maybeUpdateMaxAudioLevel: (level: number) => void;
getAndResetMaxAudioLevel: () => number | undefined;
};
+1 -1
View File
@@ -235,7 +235,7 @@ type SenderKeyCacheEntry = CacheEntryType<SenderKeyType, SenderKeyRecord>;
type ZoneQueueEntryType = Readonly<{
zone: Zone;
callback(): void;
callback: () => void;
}>;
export class SignalProtocolStore extends EventEmitter {
+10 -8
View File
@@ -44,8 +44,8 @@ export type IPCResponse = Readonly<{
type Handler = Readonly<{
token: string | undefined;
resolve(response: ChallengeResponse): void;
reject(error: Error): void;
resolve: (response: ChallengeResponse) => void;
reject: (error: Error) => void;
}>;
export type ChallengeData = Readonly<{
@@ -57,16 +57,18 @@ export type ChallengeData = Readonly<{
export type Options = Readonly<{
storage: Pick<StorageInterface, 'get' | 'put'>;
requestChallenge(request: IPCRequest): void;
requestChallenge: (request: IPCRequest) => void;
startQueue(conversationId: string): void;
startQueue: (conversationId: string) => void;
sendChallengeResponse(data: ChallengeData): Promise<void>;
sendChallengeResponse: (data: ChallengeData) => Promise<void>;
setChallengeStatus(challengeStatus: 'idle' | 'required' | 'pending'): void;
setChallengeStatus: (
challengeStatus: 'idle' | 'required' | 'pending'
) => void;
onChallengeSolved(): void;
onChallengeFailed(retryAfter?: number): void;
onChallengeSolved: () => void;
onChallengeFailed: (retryAfter?: number) => void;
expireAfter?: number;
}>;
+15 -15
View File
@@ -144,8 +144,8 @@ export type OwnProps = Readonly<{
left: boolean | null;
linkPreviewLoading: boolean;
linkPreviewResult: LinkPreviewForUIType | null;
onClearAttachments(conversationId: string): unknown;
onCloseLinkPreview(conversationId: string): unknown;
onClearAttachments: (conversationId: string) => unknown;
onCloseLinkPreview: (conversationId: string) => unknown;
platform: string;
showToast: ShowToastAction;
processAttachments: (options: {
@@ -153,12 +153,12 @@ export type OwnProps = Readonly<{
files: ReadonlyArray<File>;
flags: number | null;
}) => unknown;
setMediaQualitySetting(conversationId: string, isHQ: boolean): unknown;
sendStickerMessage(
setMediaQualitySetting: (conversationId: string, isHQ: boolean) => unknown;
sendStickerMessage: (
id: string,
opts: { packId: string; stickerId: number }
): unknown;
sendEditedMessage(
) => unknown;
sendEditedMessage: (
conversationId: string,
options: {
bodyRanges?: DraftBodyRanges;
@@ -167,8 +167,8 @@ export type OwnProps = Readonly<{
quoteSentAt?: number;
targetMessageId: string;
}
): unknown;
sendMultiMediaMessage(
) => unknown;
sendMultiMediaMessage: (
conversationId: string,
options: {
draftAttachments?: ReadonlyArray<AttachmentDraftType>;
@@ -178,8 +178,8 @@ export type OwnProps = Readonly<{
timestamp?: number;
voiceNoteAttachment?: InMemoryAttachmentDraftType;
}
): unknown;
sendPoll(conversationId: string, poll: PollCreateType): unknown;
) => unknown;
sendPoll: (conversationId: string, poll: PollCreateType) => unknown;
quotedMessageId: string | null;
quotedMessageProps: null | ReadonlyDeep<
Omit<
@@ -196,17 +196,17 @@ export type OwnProps = Readonly<{
) => unknown;
scrollToMessage: (conversationId: string, messageId: string) => unknown;
setComposerFocus: (conversationId: string) => unknown;
setMessageToEdit(conversationId: string, messageId: string): unknown;
setQuoteByMessageId(
setMessageToEdit: (conversationId: string, messageId: string) => unknown;
setQuoteByMessageId: (
conversationId: string,
messageId: string | undefined
): unknown;
) => unknown;
isViewOnce: boolean;
setViewOnce(options: {
setViewOnce: (options: {
conversationId: string;
value: boolean;
toastNotify: boolean;
}): unknown;
}) => unknown;
shouldSendHighQualityAttachments: boolean;
showConversation: ShowConversationType;
warmupRecording: () => void;
+7 -7
View File
@@ -147,23 +147,23 @@ export type Props = Readonly<{
theme: ThemeType;
placeholder?: string;
sortedGroupMembers: ReadonlyArray<ConversationType> | null;
onDirtyChange?(dirty: boolean): unknown;
onEditorStateChange(options: {
onDirtyChange?: (dirty: boolean) => unknown;
onEditorStateChange: (options: {
bodyRanges: DraftBodyRanges;
caretLocation?: number;
conversationId: string | undefined;
messageText: string;
sendCounter: number;
}): unknown;
onTextTooLong(): unknown;
}) => unknown;
onTextTooLong: () => unknown;
onSelectEmoji: (emojiSelection: FunEmojiSelection) => void;
onBlur?: () => unknown;
onFocus?: () => unknown;
onSubmit(
onSubmit: (
message: string,
bodyRanges: DraftBodyRanges,
timestamp: number
): unknown;
) => unknown;
onScroll?: (ev: UIEvent<HTMLElement>) => void;
ourConversationId: string | undefined;
platform: string;
@@ -171,7 +171,7 @@ export type Props = Readonly<{
shouldHidePopovers: boolean | null;
linkPreviewLoading?: boolean;
linkPreviewResult: LinkPreviewForUIType | null;
onCloseLinkPreview?(conversationId: string): unknown;
onCloseLinkPreview?: (conversationId: string) => unknown;
showViewOnceButton: boolean;
isViewOnceActive: boolean;
onToggleViewOnce: () => void;
@@ -26,13 +26,13 @@ export type PropsType = {
selectedDraftEmojiIndex: undefined | number;
emojiSkinToneDefault: Emoji.SkinTone | null;
cancelCustomizePreferredReactionsModal(): unknown;
deselectDraftEmoji(): unknown;
cancelCustomizePreferredReactionsModal: () => unknown;
deselectDraftEmoji: () => unknown;
onEmojiSkinToneDefaultChange: (emojiSkinToneDefault: Emoji.SkinTone) => void;
replaceSelectedDraftEmoji(newEmoji: Emoji.Variant): unknown;
resetDraftEmoji(): unknown;
savePreferredReactions(): unknown;
selectDraftEmojiToBeReplaced(index: number): unknown;
replaceSelectedDraftEmoji: (newEmoji: Emoji.Variant) => unknown;
resetDraftEmoji: () => unknown;
savePreferredReactions: () => unknown;
selectDraftEmojiToBeReplaced: (index: number) => unknown;
};
export function CustomizingPreferredReactionsModal({
@@ -15,7 +15,7 @@ export type Props = {
disabled?: boolean;
value?: DurationInSeconds;
onChange(value: DurationInSeconds): void;
onChange: (value: DurationInSeconds) => void;
};
export function DisappearingTimerSelect(props: Props): JSX.Element {
+1 -1
View File
@@ -418,7 +418,7 @@ export function ForwardMessagesModal({
type ForwardMessageEditorProps = Readonly<{
draft: MessageForwardDraft;
linkPreview: LinkPreviewForUIType | null | void;
removeLinkPreview(): void;
removeLinkPreview: () => void;
RenderCompositionTextArea: ComponentType<SmartCompositionTextAreaProps>;
onChange: (
messageText: string,
+4 -4
View File
@@ -44,13 +44,13 @@ export type PropsType = {
| 'title'
| 'type'
>;
bounceAppIconStart(): unknown;
bounceAppIconStop(): unknown;
notifyForCall(
bounceAppIconStart: () => unknown;
bounceAppIconStop: () => unknown;
notifyForCall: (
conversationId: string,
conversationTitle: string,
isVideoCall: boolean
): unknown;
) => unknown;
} & (
| {
callMode: CallMode.Direct;
+1 -1
View File
@@ -210,7 +210,7 @@ export type PropsType = {
renderUpdateDialog: (
_: Readonly<{ containerWidthBreakpoint: WidthBreakpoint }>
) => JSX.Element;
renderCaptchaDialog: (props: { onSkip(): void }) => JSX.Element;
renderCaptchaDialog: (props: { onSkip: () => void }) => JSX.Element;
renderCrashReportDialog: () => JSX.Element;
renderExpiredBuildDialog: (_: DialogExpiredBuildPropsType) => JSX.Element;
renderLeftPaneChatFolders: () => JSX.Element;
+1 -1
View File
@@ -62,7 +62,7 @@ export type NavSidebarProps = Readonly<{
hideHeader?: boolean;
navTabsCollapsed: boolean;
onBack?: (() => void) | null;
onToggleNavTabsCollapse(navTabsCollapsed: boolean): void;
onToggleNavTabsCollapse: (navTabsCollapsed: boolean) => void;
preferredLeftPaneWidth: number;
requiresFullWidth: boolean;
savePreferredLeftPaneWidth: (width: number) => void;
+2 -2
View File
@@ -128,7 +128,7 @@ export type NavTabPanelProps = Readonly<{
collapsed: boolean;
hasFailedStorySends: boolean;
hasPendingUpdate: boolean;
onToggleCollapse(collapsed: boolean): void;
onToggleCollapse: (collapsed: boolean) => void;
}>;
export type NavTabsToggleProps = Readonly<{
@@ -137,7 +137,7 @@ export type NavTabsToggleProps = Readonly<{
hasFailedStorySends: boolean;
hasPendingUpdate: boolean;
navTabsCollapsed: boolean;
onToggleNavTabsCollapse(navTabsCollapsed: boolean): void;
onToggleNavTabsCollapse: (navTabsCollapsed: boolean) => void;
}>;
export function NavTabsToggle({
+1 -1
View File
@@ -11,7 +11,7 @@ import { AxoButton } from '../axo/AxoButton.dom.tsx';
export type SafetyTipsModalProps = Readonly<{
i18n: LocalizerType;
onClose(): void;
onClose: () => void;
}>;
export function SafetyTipsModal({
+1 -1
View File
@@ -18,7 +18,7 @@ export type PropsType = Readonly<{
moduleClassName?: string;
name?: string;
options: ReadonlyArray<Option>;
onChange(value: string): void;
onChange: (value: string) => void;
value?: string | number;
}>;
+1 -1
View File
@@ -11,7 +11,7 @@ export type Props = {
defaultValue: Delta | undefined;
formats: Array<string>;
modules: Record<string, unknown>;
onChange?(): void;
onChange?: () => void;
placeholder: string;
readOnly: boolean | undefined;
};
+7 -7
View File
@@ -144,7 +144,7 @@ type DistributionListItemProps = {
distributionList: StoryDistributionListWithMembersDataType;
me: ConversationType;
signalConnections: Array<ConversationType>;
onSelectItemToEdit(id: StoryDistributionIdString): void;
onSelectItemToEdit: (id: StoryDistributionIdString) => void;
};
function DistributionListItem({
@@ -200,7 +200,7 @@ function DistributionListItem({
type GroupStoryItemProps = {
i18n: LocalizerType;
groupStory: ConversationType;
onSelectGroupToView(id: string): void;
onSelectGroupToView: (id: string) => void;
};
function GroupStoryItem({
@@ -1269,12 +1269,12 @@ export function EditDistributionListModal({
type GroupStorySettingsModalProps = {
i18n: LocalizerType;
group: ConversationType;
onClose(): void;
onBackButtonClick(): void;
getConversationByServiceId(
onClose: () => void;
onBackButtonClick: () => void;
getConversationByServiceId: (
serviceId: ServiceIdString
): ConversationType | undefined;
onRemoveGroup(group: ConversationType): void;
) => ConversationType | undefined;
onRemoveGroup: (group: ConversationType) => void;
};
function GroupStorySettingsModal({
+6 -6
View File
@@ -52,17 +52,17 @@ export type PropsDataType = Readonly<{
}>;
export type ActionPropsDataType = Readonly<{
setUsernameReservationError(
setUsernameReservationError: (
error: UsernameReservationError | undefined
): void;
clearUsernameReservation(): void;
reserveUsername(optiona: ReserveUsernameOptionsType): void;
confirmUsername(): void;
) => void;
clearUsernameReservation: () => void;
reserveUsername: (optiona: ReserveUsernameOptionsType) => void;
confirmUsername: () => void;
showToast: ShowToastAction;
}>;
export type ExternalPropsDataType = Readonly<{
onClose(): void;
onClose: () => void;
}>;
export type PropsType = PropsDataType &
@@ -20,7 +20,7 @@ export type ComputePeaksResult = {
};
export type Contents = {
computePeaks(url: string, barCount: number): Promise<ComputePeaksResult>;
computePeaks: (url: string, barCount: number) => Promise<ComputePeaksResult>;
};
// This context's value is effectively global. This is not ideal but is necessary because
@@ -14,7 +14,7 @@ export type Props = {
i18n: LocalizerType;
children: ReactNode;
showDebugLog(): void;
showDebugLog: () => void;
};
export type State = {
+4 -4
View File
@@ -46,11 +46,11 @@ export type Props = {
readonly i18n: LocalizerType;
readonly theme?: ThemeType;
onError(): void;
onError: () => void;
showMediaNoLongerAvailableToast?: () => void;
showVisualAttachment(): void;
startDownload(): void;
cancelDownload(): void;
showVisualAttachment: () => void;
startDownload: () => void;
cancelDownload: () => void;
};
type MediaEvent = SyntheticEvent<HTMLVideoElement>;
@@ -54,10 +54,10 @@ export type OwnProps = Readonly<{
status?: MessageStatusType;
textPending?: boolean;
timestamp: number;
cancelAttachmentDownload(): void;
kickOffAttachmentDownload(): void;
onCorrupted(): void;
computePeaks(url: string, barCount: number): Promise<ComputePeaksResult>;
cancelAttachmentDownload: () => void;
kickOffAttachmentDownload: () => void;
onCorrupted: () => void;
computePeaks: (url: string, barCount: number) => Promise<ComputePeaksResult>;
onPlayMessage: (id: string, position: number) => void;
}>;
@@ -25,18 +25,18 @@ export type MessageRequestActionsConfirmationBaseProps = {
conversationName: ContactNameData;
isBlocked: boolean;
isReported: boolean;
acceptConversation(conversationId: string): void;
blockAndReportSpam(conversationId: string): void;
blockConversation(conversationId: string): void;
reportSpam(conversationId: string): void;
deleteConversation(conversationId: string): void;
acceptConversation: (conversationId: string) => void;
blockAndReportSpam: (conversationId: string) => void;
blockConversation: (conversationId: string) => void;
reportSpam: (conversationId: string) => void;
deleteConversation: (conversationId: string) => void;
};
export type MessageRequestActionsConfirmationProps =
MessageRequestActionsConfirmationBaseProps & {
i18n: LocalizerType;
state: MessageRequestState;
onChangeState(state: MessageRequestState): void;
onChangeState: (state: MessageRequestState) => void;
};
function Bold(parts: Array<string | JSX.Element>) {
@@ -18,7 +18,9 @@ export type MessageRequestResponseNotificationProps =
i18n: LocalizerType;
isBlocked: boolean;
isGroup: boolean;
onOpenMessageRequestActionsConfirmation(state: MessageRequestState): void;
onOpenMessageRequestActionsConfirmation: (
state: MessageRequestState
) => void;
renderedContact: JSX.Element | null;
};
+4 -4
View File
@@ -9,16 +9,16 @@ export type Callback = (change: NativeThemeState) => void;
// oxlint-disable-next-line typescript/consistent-type-definitions
export interface MinimalIPC {
// oxlint-disable-next-line typescript/no-explicit-any
send(channel: string, ...args: ReadonlyArray<any>): void;
send: (channel: string, ...args: ReadonlyArray<any>) => void;
// oxlint-disable-next-line typescript/no-explicit-any
sendSync(channel: string): any;
sendSync: (channel: string) => any;
on(
on: (
channel: string,
// oxlint-disable-next-line typescript/no-explicit-any
listener: (event: unknown, ...args: ReadonlyArray<any>) => void
): this;
) => this;
}
export type SystemThemeHolder = { systemTheme: SystemThemeType };
+4 -4
View File
@@ -7,9 +7,9 @@ import { createLogger } from '../logging/log.std.ts';
const log = createLogger('useScrollLock');
export type ScrollerLock = Readonly<{
isLocked(): boolean;
lock(reason: string, onUserInterrupt: () => void): () => void;
onUserInterrupt(reason: string): void;
isLocked: () => boolean;
lock: (reason: string, onUserInterrupt: () => void) => () => void;
onUserInterrupt: (reason: string) => void;
}>;
export function createScrollerLock(
@@ -59,7 +59,7 @@ export const ScrollerLockContext = createContext<ScrollerLock | null>(null);
export type ScrollLockProps = Readonly<{
reason: string;
lockScrollWhen: boolean;
onUserInterrupt(): void;
onUserInterrupt: () => void;
}>;
export function useScrollerLock({
+1 -1
View File
@@ -93,7 +93,7 @@ export type SizeObserverProps = Readonly<{
*/
onSizeChange?: SizeChangeHandler;
// oxlint-disable-next-line typescript/no-explicit-any
children(ref: RefObject<any>, size: Size | null): JSX.Element;
children: (ref: RefObject<any>, size: Size | null) => JSX.Element;
}>;
export function SizeObserver({
+3 -3
View File
@@ -14,9 +14,9 @@ const { noop } = lodash;
const log = createLogger('JobQueueDatabaseStore');
type Database = {
getJobsInQueue(queueType: string): Promise<Array<StoredJob>>;
insertJob(job: Readonly<StoredJob>): Promise<void>;
deleteJob(id: string): Promise<void>;
getJobsInQueue: (queueType: string) => Promise<Array<StoredJob>>;
insertJob: (job: Readonly<StoredJob>) => Promise<void>;
deleteJob: (id: string) => Promise<void>;
};
export class JobQueueDatabaseStore implements JobQueueStore {
+4 -4
View File
@@ -5,10 +5,10 @@ export type JobQueueStore = {
/**
* Add a job to the database. Doing this should enqueue it in the stream.
*/
insert(
insert: (
job: Readonly<StoredJob>,
options?: Readonly<{ shouldPersist?: boolean }>
): Promise<void>;
) => Promise<void>;
/**
* Remove a job. This should be called when a job finishes successfully or
@@ -16,13 +16,13 @@ export type JobQueueStore = {
*
* It should NOT be called to cancel a job.
*/
delete(id: string): Promise<void>;
delete: (id: string) => Promise<void>;
/**
* Stream jobs for a given queue. At startup, this stream may produce a bunch of
* jobs. After that, it should produce one job per `insert`.
*/
stream(queueType: string): AsyncIterable<StoredJob>;
stream: (queueType: string) => AsyncIterable<StoredJob>;
};
export type ParsedJob<T> = {
+1 -1
View File
@@ -4,7 +4,7 @@
import { powerMonitor } from 'electron';
export type InitializeOptions = {
send(event: string): void;
send: (event: string) => void;
};
export namespace PowerChannel {
+7 -4
View File
@@ -27,12 +27,15 @@ const log = createLogger('copyQuote');
const { i18n } = window.SignalContext;
export type MinimalMessageCache = Readonly<{
findBySentAt(
findBySentAt: (
sentAt: number,
predicate: (attributes: MessageModel) => boolean
): Promise<MessageModel | undefined>;
upgradeSchema(message: MessageModel, minSchemaVersion: number): Promise<void>;
register(message: MessageModel): MessageModel;
) => Promise<MessageModel | undefined>;
upgradeSchema: (
message: MessageModel,
minSchemaVersion: number
) => Promise<void>;
register: (message: MessageModel) => MessageModel;
}>;
export type CopyQuoteOptionsType = Readonly<{
+1 -1
View File
@@ -328,7 +328,7 @@ export class ConversationModel {
contactCollection?: Array<ConversationModel>;
debouncedUpdateLastMessage: (() => void) & { flush(): void };
debouncedUpdateLastMessage: (() => void) & { flush: () => void };
initialPromise?: Promise<unknown>;
+2 -2
View File
@@ -58,8 +58,8 @@ declare module 'mp4box' {
export type MP4ArrayBuffer = ArrayBuffer & { fileStart: number };
export type MP4File = {
appendBuffer(data: MP4ArrayBuffer): number;
flush(): void;
appendBuffer: (data: MP4ArrayBuffer) => number;
flush: () => void;
onError?: (e: string) => void;
onReady?: (info: MP4Info) => void;
};
+5 -5
View File
@@ -139,11 +139,11 @@ class ActiveWindowService {
}
export type ActiveWindowServiceType = {
isActive(): boolean;
registerForActive(callback: () => void): void;
unregisterForActive(callback: () => void): void;
registerForChange(callback: (isActive: boolean) => void): void;
unregisterForChange(callback: (isActive: boolean) => void): void;
isActive: () => boolean;
registerForActive: (callback: () => void) => void;
unregisterForActive: (callback: () => void) => void;
registerForChange: (callback: (isActive: boolean) => void) => void;
unregisterForChange: (callback: (isActive: boolean) => void) => void;
};
export function getActiveWindowService(
@@ -147,7 +147,7 @@ export function addGlobalKeyboardShortcuts(): void {
(target.attributes as any).class.value
) {
const className = (target.attributes as any).class.value;
/* eslint-enable @typescript-eslint/no-explicit-any */
/* oxlint-enable @typescript-eslint/no-explicit-any */
// Search box wants to handle events internally
if (className.includes('LeftPaneSearchInput__input')) {
+1 -1
View File
@@ -257,7 +257,7 @@ type CallingReduxInterface = Pick<
| 'setMutedBy'
| 'onObservedRemoteMute'
> & {
areAnyCallsActiveOrRinging(): boolean;
areAnyCallsActiveOrRinging: () => boolean;
};
export type SetPresentingOptionsType = Readonly<{
+2 -2
View File
@@ -3,7 +3,7 @@
import { strictAssert } from '../util/assert.std.ts';
type LayoutMapType = { get(code: string): string | undefined };
type LayoutMapType = { get: (code: string) => string | undefined };
let layoutMap: LayoutMapType | undefined;
@@ -11,7 +11,7 @@ export async function initialize(): Promise<void> {
strictAssert(layoutMap === undefined, 'keyboardLayout already initialized');
const experimentalNavigator = window.navigator as unknown as {
keyboard: { getLayoutMap(): Promise<LayoutMapType> };
keyboard: { getLayoutMap: () => Promise<LayoutMapType> };
};
strictAssert(
@@ -64,7 +64,7 @@ const VERSION_WATERMARK_STORAGE_KEY = 'releaseNotesVersionWatermark';
const BUCKET_VALUE_HASH_SALT = 'ReleaseNoteAndMegaphoneFetcher';
type MinimalEventsType = {
on(event: 'timetravel', callback: () => void): void;
on: (event: 'timetravel', callback: () => void) => void;
};
type FetchOptions = {
+103 -101
View File
@@ -921,13 +921,13 @@ type ReadableInterface = {
includeStoryReplies: boolean;
}
) => number;
getOldestUnreadMentionOfMeForConversation(
getOldestUnreadMentionOfMeForConversation: (
conversationId: string,
options: {
storyId?: string;
includeStoryReplies: boolean;
}
): MessageMetricsType | undefined;
) => MessageMetricsType | undefined;
getReactionByTimestamp: (
fromId: string,
@@ -980,37 +980,37 @@ type ReadableInterface = {
conversationId: string;
includeStoryReplies: boolean;
}) => ConversationMessageStatsType;
getLastConversationMessage(options: {
getLastConversationMessage: (options: {
conversationId: string;
}): MessageType | undefined;
}) => MessageType | undefined;
getAllCallHistory: () => ReadonlyArray<CallHistoryDetails>;
getCallHistoryUnreadCount(): number;
getCallHistoryMessageByCallId(options: {
getCallHistoryUnreadCount: () => number;
getCallHistoryMessageByCallId: (options: {
conversationId: string;
callId: string;
}): MessageType | undefined;
getCallHistory(
}) => MessageType | undefined;
getCallHistory: (
callId: string,
peerId: ServiceIdString | string
): CallHistoryDetails | undefined;
getCallHistoryGroupsCount(filter: CallHistoryFilter): number;
getCallHistoryGroups(
) => CallHistoryDetails | undefined;
getCallHistoryGroupsCount: (filter: CallHistoryFilter) => number;
getCallHistoryGroups: (
filter: CallHistoryFilter,
pagination: CallHistoryPagination
): Array<CallHistoryGroup>;
) => Array<CallHistoryGroup>;
hasGroupCallHistoryMessage: (
conversationId: string,
eraId: string
) => boolean;
callLinkExists(roomId: string): boolean;
defunctCallLinkExists(roomId: string): boolean;
callLinkExists: (roomId: string) => boolean;
defunctCallLinkExists: (roomId: string) => boolean;
getAllCallLinks: () => ReadonlyArray<CallLinkType>;
getCallLinkByRoomId: (roomId: string) => CallLinkType | undefined;
getCallLinkRecordByRoomId: (roomId: string) => CallLinkRecord | undefined;
getAllAdminCallLinks(): ReadonlyArray<CallLinkType>;
getAllCallLinkRecordsWithAdminKey(): ReadonlyArray<CallLinkRecord>;
getAllDefunctCallLinksWithAdminKey(): ReadonlyArray<DefunctCallLinkType>;
getAllMarkedDeletedCallLinkRoomIds(): ReadonlyArray<string>;
getAllAdminCallLinks: () => ReadonlyArray<CallLinkType>;
getAllCallLinkRecordsWithAdminKey: () => ReadonlyArray<CallLinkRecord>;
getAllDefunctCallLinksWithAdminKey: () => ReadonlyArray<DefunctCallLinkType>;
getAllMarkedDeletedCallLinkRoomIds: () => ReadonlyArray<string>;
getMessagesBetween: (
conversationId: string,
options: GetMessagesBetweenOptions
@@ -1031,12 +1031,12 @@ type ReadableInterface = {
getUnprocessedCount: () => number;
// Test-only
_getAttachmentDownloadJob(
_getAttachmentDownloadJob: (
job: Pick<
AttachmentDownloadJobType,
'messageId' | 'attachmentType' | 'attachmentSignature'
>
): AttachmentDownloadJobType | undefined;
) => AttachmentDownloadJobType | undefined;
getBackupCdnObjectMetadata: (
mediaId: string
@@ -1053,28 +1053,30 @@ type ReadableInterface = {
getRecentEmojis: (limit: number) => ReadonlyArray<Emoji.Parent>;
getRecentGifs: (limit: number) => ReadonlyArray<GifType>;
getAllBadges(): Array<BadgeType>;
getAllBadges: () => Array<BadgeType>;
_getAllStoryDistributions(): Array<StoryDistributionType>;
_getAllStoryDistributionMembers(): Array<StoryDistributionMemberType>;
getAllStoryDistributionsWithMembers(): Array<StoryDistributionWithMembersType>;
getStoryDistributionWithMembers(
_getAllStoryDistributions: () => Array<StoryDistributionType>;
_getAllStoryDistributionMembers: () => Array<StoryDistributionMemberType>;
getAllStoryDistributionsWithMembers: () => Array<StoryDistributionWithMembersType>;
getStoryDistributionWithMembers: (
id: string
): StoryDistributionWithMembersType | undefined;
) => StoryDistributionWithMembersType | undefined;
_getAllStoryReads(): Array<StoryReadType>;
getLastStoryReadsForAuthor(options: {
_getAllStoryReads: () => Array<StoryReadType>;
getLastStoryReadsForAuthor: (options: {
authorId: ServiceIdString;
conversationId?: string;
limit?: number;
}): Array<StoryReadType>;
countStoryReadsByConversation(conversationId: string): number;
}) => Array<StoryReadType>;
countStoryReadsByConversation: (conversationId: string) => number;
getAllNotificationProfiles(): Array<NotificationProfileType>;
getNotificationProfileById(id: string): NotificationProfileType | undefined;
getAllNotificationProfiles: () => Array<NotificationProfileType>;
getNotificationProfileById: (
id: string
) => NotificationProfileType | undefined;
getAllDonationReceipts(): Array<DonationReceipt>;
getDonationReceiptById(id: string): DonationReceipt | undefined;
getAllDonationReceipts: () => Array<DonationReceipt>;
getDonationReceiptById: (id: string) => DonationReceipt | undefined;
getAllChatFolders: () => ReadonlyArray<ChatFolder>;
getCurrentChatFolders: () => ReadonlyArray<CurrentChatFolder>;
@@ -1104,14 +1106,14 @@ type ReadableInterface = {
sourceServiceId?: string
) => Array<string>;
getJobsInQueue(queueType: string): Array<StoredJob>;
getJobsInQueue: (queueType: string) => Array<StoredJob>;
wasGroupCallRingPreviouslyCanceled(ringId: bigint): boolean;
wasGroupCallRingPreviouslyCanceled: (ringId: bigint) => boolean;
getMaxMessageCounter(): number | undefined;
getMaxMessageCounter: () => number | undefined;
getStatisticsForLogging(): Record<string, string>;
getBackupAttachmentDownloadProgress(): BackupAttachmentDownloadProgress;
getStatisticsForLogging: () => Record<string, string>;
getBackupAttachmentDownloadProgress: () => BackupAttachmentDownloadProgress;
getAttachmentReferencesForMessages: (
messageIds: Array<string>
) => Array<MessageAttachmentDBType>;
@@ -1189,14 +1191,14 @@ type WritableInterface = {
createOrUpdateSession: (data: SessionType) => void;
createOrUpdateSessions: (array: Array<SessionType>) => void;
commitDecryptResult(options: {
commitDecryptResult: (options: {
kyberPreKeysToRemove: Array<PreKeyIdType>;
preKeysToRemove: Array<PreKeyIdType>;
senderKeys: Array<SenderKeyType>;
sessions: Array<SessionType>;
unprocessed: Array<UnprocessedType>;
kyberTriples: Array<KyberPreKeyTripleType>;
}): void;
}) => void;
removeSessionById: (id: SessionIdType) => number;
removeSessionsByConversation: (conversationId: string) => void;
removeSessionsByServiceId: (serviceId: ServiceIdString) => void;
@@ -1272,30 +1274,30 @@ type WritableInterface = {
_removeAllCallHistory: () => void;
markCallHistoryDeleted: (callId: string) => void;
cleanupCallHistoryMessages: () => void;
markCallHistoryRead(callId: string): void;
markAllCallHistoryRead(target: CallLogEventTarget): number;
markAllCallHistoryReadInConversation(target: CallLogEventTarget): number;
saveCallHistory(callHistory: CallHistoryDetails): void;
markCallHistoryMissed(callIds: ReadonlyArray<string>): void;
getRecentStaleRingsAndMarkOlderMissed(): ReadonlyArray<MaybeStaleCallHistory>;
insertCallLink(callLink: CallLinkType): void;
insertOrUpdateCallLinkFromSync(
markCallHistoryRead: (callId: string) => void;
markAllCallHistoryRead: (target: CallLogEventTarget) => number;
markAllCallHistoryReadInConversation: (target: CallLogEventTarget) => number;
saveCallHistory: (callHistory: CallHistoryDetails) => void;
markCallHistoryMissed: (callIds: ReadonlyArray<string>) => void;
getRecentStaleRingsAndMarkOlderMissed: () => ReadonlyArray<MaybeStaleCallHistory>;
insertCallLink: (callLink: CallLinkType) => void;
insertOrUpdateCallLinkFromSync: (
callLink: CallLinkType
): InsertOrUpdateCallLinkFromSyncResult;
updateCallLink(callLink: CallLinkType): void;
updateCallLinkState(
) => InsertOrUpdateCallLinkFromSyncResult;
updateCallLink: (callLink: CallLinkType) => void;
updateCallLinkState: (
roomId: string,
callLinkState: CallLinkStateType
): CallLinkType;
beginDeleteAllCallLinks(): boolean;
beginDeleteCallLink(roomId: string): boolean;
deleteCallHistoryByRoomId(roomid: string): void;
deleteCallLinkAndHistory(roomId: string): void;
finalizeDeleteCallLink(roomId: string): void;
_removeAllCallLinks(): void;
insertDefunctCallLink(defunctCallLink: DefunctCallLinkType): void;
updateDefunctCallLink(defunctCallLink: DefunctCallLinkType): void;
deleteCallLinkFromSync(roomId: string): void;
) => CallLinkType;
beginDeleteAllCallLinks: () => boolean;
beginDeleteCallLink: (roomId: string) => boolean;
deleteCallHistoryByRoomId: (roomid: string) => void;
deleteCallLinkAndHistory: (roomId: string) => void;
finalizeDeleteCallLink: (roomId: string) => void;
_removeAllCallLinks: () => void;
insertDefunctCallLink: (defunctCallLink: DefunctCallLinkType) => void;
updateDefunctCallLink: (defunctCallLink: DefunctCallLinkType) => void;
deleteCallLinkFromSync: (roomId: string) => void;
migrateConversationMessages: (obsoleteId: string, currentId: string) => void;
saveEditedMessage: (
mainMessage: ReadonlyDeep<MessageType>,
@@ -1399,42 +1401,42 @@ type WritableInterface = {
addRecentGif: (gif: GifType, lastUsedAt: number, maxRecents: number) => void;
removeRecentGif: (gif: GifType['id']) => void;
updateOrCreateBadges(badges: ReadonlyArray<BadgeType>): void;
badgeImageFileDownloaded(url: string, localPath: string): void;
updateOrCreateBadges: (badges: ReadonlyArray<BadgeType>) => void;
badgeImageFileDownloaded: (url: string, localPath: string) => void;
_deleteAllStoryDistributions(): void;
createNewStoryDistribution(
_deleteAllStoryDistributions: () => void;
createNewStoryDistribution: (
distribution: StoryDistributionWithMembersType
): void;
modifyStoryDistribution(distribution: StoryDistributionType): void;
modifyStoryDistributionMembers(
) => void;
modifyStoryDistribution: (distribution: StoryDistributionType) => void;
modifyStoryDistributionMembers: (
listId: string,
options: {
toAdd: Array<ServiceIdString>;
toRemove: Array<ServiceIdString>;
}
): void;
modifyStoryDistributionWithMembers(
) => void;
modifyStoryDistributionWithMembers: (
distribution: StoryDistributionType,
options: {
toAdd: Array<ServiceIdString>;
toRemove: Array<ServiceIdString>;
}
): void;
deleteStoryDistribution(id: StoryDistributionIdString): void;
) => void;
deleteStoryDistribution: (id: StoryDistributionIdString) => void;
_deleteAllStoryReads(): void;
addNewStoryRead(read: StoryReadType): void;
_deleteAllStoryReads: () => void;
addNewStoryRead: (read: StoryReadType) => void;
_deleteAllNotificationProfiles(): void;
deleteNotificationProfileById(id: string): void;
markNotificationProfileDeleted(id: string): number | undefined;
createNotificationProfile(profile: NotificationProfileType): void;
updateNotificationProfile(profile: NotificationProfileType): void;
_deleteAllNotificationProfiles: () => void;
deleteNotificationProfileById: (id: string) => void;
markNotificationProfileDeleted: (id: string) => number | undefined;
createNotificationProfile: (profile: NotificationProfileType) => void;
updateNotificationProfile: (profile: NotificationProfileType) => void;
_deleteAllDonationReceipts(): void;
deleteDonationReceiptById(id: string): void;
createDonationReceipt(profile: DonationReceipt): void;
_deleteAllDonationReceipts: () => void;
deleteDonationReceiptById: (id: string) => void;
createDonationReceipt: (profile: DonationReceipt) => void;
createChatFolder: (chatFolder: ChatFolder) => void;
createAllChatsChatFolder: () => ChatFolder;
@@ -1502,20 +1504,20 @@ type WritableInterface = {
removeAllConfiguration: (isPrimary: boolean) => void;
eraseStorageServiceState: () => void;
insertJob(job: Readonly<StoredJob>): void;
deleteJob(id: string): void;
insertJob: (job: Readonly<StoredJob>) => void;
deleteJob: (id: string) => void;
disableMessageInsertTriggers(): void;
enableMessageInsertTriggersAndBackfill(): void;
ensureMessageInsertTriggersAreEnabled(): void;
disableMessageInsertTriggers: () => void;
enableMessageInsertTriggersAndBackfill: () => void;
ensureMessageInsertTriggersAreEnabled: () => void;
disableFSync(): void;
enableFSyncAndCheckpoint(): void;
disableFSync: () => void;
enableFSyncAndCheckpoint: () => void;
processGroupCallRingCancellation(ringId: bigint): void;
cleanExpiredGroupCallRingCancellations(): void;
processGroupCallRingCancellation: (ringId: bigint) => void;
cleanExpiredGroupCallRingCancellations: () => void;
_testOnlyRemoveMessageAttachments(timestamp: number): void;
_testOnlyRemoveMessageAttachments: (timestamp: number) => void;
};
// Adds a database argument
@@ -1539,10 +1541,10 @@ export type ServerReadableDirectInterface = ReadableInterface & {
contactServiceIdsMatchingQuery?: Array<ServiceIdString>;
}) => Array<ServerSearchResultMessageType>;
getRecentStoryReplies(
getRecentStoryReplies: (
storyId: string,
options?: GetRecentStoryRepliesOptionsType
): Array<MessageType>;
) => Array<MessageType>;
getOlderMessagesByConversation: (
options: AdjacentMessagesByConversationOptionsType
) => Array<MessageType>;
@@ -1569,7 +1571,7 @@ export type ServerReadableDirectInterface = ReadableInterface & {
) => StoredSignedPreKeyType | undefined;
getAllSignedPreKeys: () => Array<StoredSignedPreKeyType>;
getItemById<K extends ItemKeyType>(id: K): StoredItemType<K> | undefined;
getItemById: <K extends ItemKeyType>(id: K) => StoredItemType<K> | undefined;
getAllItems: () => StoredAllItemsType;
// Server-only
@@ -1636,7 +1638,7 @@ export type ServerWritableDirectInterface = WritableInterface & {
createOrUpdateSignedPreKey: (data: StoredSignedPreKeyType) => void;
bulkAddSignedPreKeys: (array: Array<StoredSignedPreKeyType>) => void;
createOrUpdateItem<K extends ItemKeyType>(data: StoredItemType<K>): void;
createOrUpdateItem: <K extends ItemKeyType>(data: StoredItemType<K>) => void;
// Server-only
@@ -1672,10 +1674,10 @@ export type ClientOnlyReadableInterface = ClientInterfaceWrap<{
contactServiceIdsMatchingQuery?: Array<ServiceIdString>;
}) => Array<ClientSearchResultMessageType>;
getRecentStoryReplies(
getRecentStoryReplies: (
storyId: string,
options?: GetRecentStoryRepliesOptionsType
): Array<MessageType>;
) => Array<MessageType>;
getOlderMessagesByConversation: (
options: AdjacentMessagesByConversationOptionsType
) => Array<MessageType>;
@@ -1698,7 +1700,7 @@ export type ClientOnlyReadableInterface = ClientInterfaceWrap<{
getSignedPreKeyById: (id: SignedPreKeyIdType) => SignedPreKeyType | undefined;
getAllSignedPreKeys: () => Array<SignedPreKeyType>;
getItemById<K extends ItemKeyType>(id: K): ItemType<K> | undefined;
getItemById: <K extends ItemKeyType>(id: K) => ItemType<K> | undefined;
getAllItems: () => AllItemsType;
}>;
@@ -1752,7 +1754,7 @@ export type ClientOnlyWritableInterface = ClientInterfaceWrap<{
createOrUpdateSignedPreKey: (data: SignedPreKeyType) => void;
bulkAddSignedPreKeys: (array: Array<SignedPreKeyType>) => void;
createOrUpdateItem<K extends ItemKeyType>(data: ItemType<K>): void;
createOrUpdateItem: <K extends ItemKeyType>(data: ItemType<K>) => void;
// Client-side only
+1 -1
View File
@@ -155,7 +155,7 @@ function renderUpdateDialog(
): JSX.Element {
return <SmartUpdateDialog {...props} />;
}
function renderCaptchaDialog({ onSkip }: { onSkip(): void }): JSX.Element {
function renderCaptchaDialog({ onSkip }: { onSkip: () => void }): JSX.Element {
return <SmartCaptchaDialog onSkip={onSkip} />;
}
function renderCrashReportDialog(): JSX.Element {
+1 -1
View File
@@ -17,7 +17,7 @@ import { useUsernameActions } from '../ducks/username.preload.ts';
import { useToastActions } from '../ducks/toast.preload.ts';
export type SmartUsernameEditorProps = Readonly<{
onClose(): void;
onClose: () => void;
}>;
export const SmartUsernameEditor = memo(function SmartUsernameEditor({
+2 -2
View File
@@ -324,8 +324,8 @@ export type CallbackResultType = {
};
export type IRequestHandler = {
handleRequest(request: IncomingWebSocketRequest): void;
handleDisconnect(): void;
handleRequest: (request: IncomingWebSocketRequest) => void;
handleDisconnect: () => void;
};
export type PniKeyMaterialType = Readonly<{
+1 -1
View File
@@ -18,7 +18,7 @@ const UPDATE_INTERVAL = 2 * durations.DAY;
const UPDATE_TIME_STORAGE_KEY = 'nextScheduledUpdateKeyTime';
export type MinimalEventsType = {
on(event: 'timetravel', callback: () => void): void;
on: (event: 'timetravel', callback: () => void) => void;
};
let initComplete = false;
+6 -6
View File
@@ -162,17 +162,17 @@ type ChatConnection<Kind extends ChatKind> = Kind extends 'auth'
// oxlint-disable-next-line typescript/consistent-type-definitions
export interface IWebSocketResource {
sendRequest(options: SendRequestOptions): Promise<Response>;
sendRequest: (options: SendRequestOptions) => Promise<Response>;
addEventListener(name: 'close', handler: (ev: CloseEvent) => void): void;
addEventListener: (name: 'close', handler: (ev: CloseEvent) => void) => void;
forceKeepAlive(timeout?: number): void;
forceKeepAlive: (timeout?: number) => void;
shutdown(): void;
shutdown: () => void;
close(code?: number, reason?: string): void;
close: (code?: number, reason?: string) => void;
localPort(): number | undefined;
localPort: () => number | undefined;
}
export type IChatConnection<Chat extends ChatKind> = IWebSocketResource & {
+1 -1
View File
@@ -19,7 +19,7 @@ const CACHED_AUTH_TTL = 23 * HOUR;
export type CDSBaseOptionsType = Readonly<{
logger: LoggerType;
proxyUrl?: string;
getAuth(): Promise<CDSAuthType>;
getAuth: () => Promise<CDSAuthType>;
}>;
export type CachedAuthType = Readonly<{
+8 -9
View File
@@ -6,21 +6,20 @@ import type { StorageAccessType } from './StorageKeys.std.ts';
export type { StorageAccessType } from './StorageKeys.std.ts';
export type StorageInterface = {
onready(callback: () => void): void;
onready: (callback: () => void) => void;
get<K extends keyof StorageAccessType, V extends StorageAccessType[K]>(
get: <K extends keyof StorageAccessType, V extends StorageAccessType[K]>(
key: K
): V | undefined;
get<K extends keyof StorageAccessType, V extends StorageAccessType[K]>(
) => V | undefined;
get: <K extends keyof StorageAccessType, V extends StorageAccessType[K]>(
key: K,
defaultValue: V
): V;
) => V;
put<K extends keyof StorageAccessType>(
put: <K extends keyof StorageAccessType>(
key: K,
value: StorageAccessType[K]
): Promise<void>;
) => Promise<void>;
remove<K extends keyof StorageAccessType>(key: K): Promise<void>;
remove: <K extends keyof StorageAccessType>(key: K) => Promise<void>;
};
+7 -7
View File
@@ -45,15 +45,15 @@ export type LocalizerType = {
options?: LocalizerOptions,
]
): string;
getIntl(): IntlShape;
getLocale(): string;
getLocaleMessages(): LocaleMessagesType;
getLocaleDirection(): LocaleDirection;
getHourCyclePreference(): HourCyclePreference;
getIntl: () => IntlShape;
getLocale: () => string;
getLocaleMessages: () => LocaleMessagesType;
getLocaleDirection: () => LocaleDirection;
getHourCyclePreference: () => HourCyclePreference;
// Storybook
trackUsage(): void;
stopTrackingUsage(): Array<[string, string]>;
trackUsage: () => void;
stopTrackingUsage: () => Array<[string, string]>;
};
export enum SentMediaQualityType {
+1 -1
View File
@@ -4,7 +4,7 @@
import { explodePromise } from './explodePromise.std.ts';
export type IController = {
abort(): void;
abort: () => void;
};
export class AbortableProcess<Result> implements IController {
+1 -1
View File
@@ -9,7 +9,7 @@ const log = createLogger('StartupQueue');
type EntryType = Readonly<{
value: number;
callback(): Promise<void>;
callback: () => Promise<void>;
}>;
let startupProcessingQueue: StartupQueue | undefined;
+3 -3
View File
@@ -78,9 +78,9 @@ export type IpcResponseType = Readonly<{
export type DesktopCapturerOptionsType = Readonly<{
i18n: LocalizerType;
onPresentableSources(sources: ReadonlyArray<PresentableSource>): void;
onMediaStream(stream: MediaStream): void;
onError(error: Error): void;
onPresentableSources: (sources: ReadonlyArray<PresentableSource>) => void;
onMediaStream: (stream: MediaStream) => void;
onError: (error: Error) => void;
}>;
export type DesktopCapturerBaton = Readonly<{
+1 -1
View File
@@ -7,7 +7,7 @@ import { clearTimeoutIfNecessary } from './clearTimeoutIfNecessary.std.ts';
export type OptionsType = Readonly<{
name: string;
timeout: number;
abortController: { abort(): void };
abortController: { abort: () => void };
}>;
class StreamTimeoutError extends Error {}
+9 -8
View File
@@ -128,16 +128,16 @@ type PartialNullable<T> = {
type RouteConfig<Args extends object> = {
patterns: Array<URLMatcher>;
schema: z.ZodType<Args>;
parse(result: URLPatternResult, url: URL): PartialNullable<Args>;
toWebUrl?(args: Args): URL;
toAppUrl?(args: Args): URL;
parse: (result: URLPatternResult, url: URL) => PartialNullable<Args>;
toWebUrl?: (args: Args) => URL;
toAppUrl?: (args: Args) => URL;
};
type SignalRoute<Key extends string, Args extends object> = {
isMatch(input: URL | string): boolean;
fromUrl(input: URL | string): RouteResult<Key, Args> | null;
toWebUrl(args: Args): URL;
toAppUrl(args: Args): URL;
isMatch: (input: URL | string) => boolean;
fromUrl: (input: URL | string) => RouteResult<Key, Args> | null;
toWebUrl: (args: Args) => URL;
toAppUrl: (args: Args) => URL;
};
type RouteResult<Key extends string, Args extends object> = {
@@ -714,7 +714,8 @@ export type ParsedSignalRoute = NonNullable<
/** @internal */
type MatchedSignalRoute = {
route: SignalRoute<string, object>;
// oxlint-disable-next-line typescript/no-explicit-any
route: SignalRoute<string, any>;
parsed: ParsedSignalRoute;
};
+19 -16
View File
@@ -251,34 +251,37 @@ declare global {
// oxlint-disable-next-line typescript/consistent-type-definitions
interface StringSplitSplitter<T> {
[Symbol.split](string: string, limit?: number): T;
[Symbol.split]: (string: string, limit?: number) => T;
}
// oxlint-disable-next-line typescript/consistent-type-definitions
interface String {
split(splitter: string | RegExp): [string, ...Array<string>];
split(splitter: string | RegExp, limit: 0): [];
split(splitter: string | RegExp, limit: 1): [string];
split(splitter: string | RegExp, limit: 2): [string, string?];
split(splitter: string | RegExp, limit: 3): [string, string?, string?];
split(
split: (splitter: string | RegExp) => [string, ...Array<string>];
split: (splitter: string | RegExp, limit: 0) => [];
split: (splitter: string | RegExp, limit: 1) => [string];
split: (splitter: string | RegExp, limit: 2) => [string, string?];
split: (splitter: string | RegExp, limit: 3) => [string, string?, string?];
split: (
splitter: string | RegExp,
limit: 4
): [string, string?, string?, string?];
split(
) => [string, string?, string?, string?];
split: (
splitter: string | RegExp,
limit: 5
): [string, string?, string?, string?, string?];
split(splitter: string | RegExp, limit: number): [string, ...Array<string>];
split(
) => [string, string?, string?, string?, string?];
split: (
splitter: string | RegExp,
limit: number
) => [string, ...Array<string>];
split: (
splitter: string | RegExp,
limit?: number
): [string, ...Array<string>];
split<T>(splitter: StringSplitSplitter<T>, limit?: number): T;
split(
) => [string, ...Array<string>];
split: <T>(splitter: StringSplitSplitter<T>, limit?: number) => T;
split: (
splitter: string | RegExp | StringSplitSplitter<Array<string>>,
limit?: number
): [string, ...Array<string>];
) => [string, ...Array<string>];
}
}
+1 -1
View File
@@ -19,7 +19,7 @@ declare const AudioWorkletProcessor: {
};
type AudioWorkletProcessorImpl = Readonly<{
process(inputs: Array<Array<Float32Array<ArrayBuffer>>>): boolean;
process: (inputs: Array<Array<Float32Array<ArrayBuffer>>>) => boolean;
}> &
AudioWorkletProcessor;