Enable `noImplicitOverride` TypeScript compiler option
This commit is contained in:
parent
4490d9f2d0
commit
ede34ecee3
|
@ -174,7 +174,7 @@
|
|||
"@babel/plugin-proposal-optional-chaining": "7.13.8",
|
||||
"@babel/plugin-transform-runtime": "7.8.3",
|
||||
"@babel/preset-react": "7.7.4",
|
||||
"@babel/preset-typescript": "7.13.0",
|
||||
"@babel/preset-typescript": "7.16.0",
|
||||
"@chanzuckerberg/axe-storybook-testing": "3.0.2",
|
||||
"@electron/fuses": "1.2.1",
|
||||
"@storybook/addon-actions": "5.1.11",
|
||||
|
|
|
@ -69,7 +69,7 @@ export class ContactListItem extends React.Component<Props> {
|
|||
);
|
||||
}
|
||||
|
||||
public render(): JSX.Element {
|
||||
public override render(): JSX.Element {
|
||||
const { about, i18n, isAdmin, isMe, name, onClick, title, type } =
|
||||
this.props;
|
||||
|
||||
|
|
|
@ -26,15 +26,15 @@ export class Countdown extends React.Component<Props, State> {
|
|||
this.state = { ratio };
|
||||
}
|
||||
|
||||
public componentDidMount(): void {
|
||||
public override componentDidMount(): void {
|
||||
this.startLoop();
|
||||
}
|
||||
|
||||
public componentDidUpdate(): void {
|
||||
public override componentDidUpdate(): void {
|
||||
this.startLoop();
|
||||
}
|
||||
|
||||
public componentWillUnmount(): void {
|
||||
public override componentWillUnmount(): void {
|
||||
this.stopLoop();
|
||||
}
|
||||
|
||||
|
@ -70,7 +70,7 @@ export class Countdown extends React.Component<Props, State> {
|
|||
}
|
||||
};
|
||||
|
||||
public render(): JSX.Element {
|
||||
public override render(): JSX.Element {
|
||||
const { ratio } = this.state;
|
||||
const strokeDashoffset = ratio * CIRCUMFERENCE;
|
||||
|
||||
|
|
|
@ -67,7 +67,7 @@ export class Intl extends React.Component<Props> {
|
|||
}
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
||||
public render() {
|
||||
public override render() {
|
||||
const { components, id, i18n, renderText } = this.props;
|
||||
|
||||
const text = i18n(id);
|
||||
|
|
|
@ -65,7 +65,7 @@ export class MainHeader extends React.Component<PropsType, StateType> {
|
|||
};
|
||||
}
|
||||
|
||||
public componentDidUpdate(prevProps: PropsType): void {
|
||||
public override componentDidUpdate(prevProps: PropsType): void {
|
||||
const { searchConversation, startSearchCounter } = this.props;
|
||||
|
||||
// When user chooses to search in a given conversation we focus the field for them
|
||||
|
@ -119,11 +119,11 @@ export class MainHeader extends React.Component<PropsType, StateType> {
|
|||
}
|
||||
};
|
||||
|
||||
public componentDidMount(): void {
|
||||
public override componentDidMount(): void {
|
||||
document.addEventListener('keydown', this.handleGlobalKeyDown);
|
||||
}
|
||||
|
||||
public componentWillUnmount(): void {
|
||||
public override componentWillUnmount(): void {
|
||||
const { popperRoot } = this.state;
|
||||
|
||||
document.removeEventListener('click', this.handleOutsideClick);
|
||||
|
@ -191,7 +191,7 @@ export class MainHeader extends React.Component<PropsType, StateType> {
|
|||
}
|
||||
};
|
||||
|
||||
public render(): JSX.Element {
|
||||
public override render(): JSX.Element {
|
||||
const {
|
||||
avatarPath,
|
||||
badge,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright 2018-2020 Signal Messenger, LLC
|
||||
// Copyright 2018-2021 Signal Messenger, LLC
|
||||
// SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
import React from 'react';
|
||||
|
@ -16,7 +16,7 @@ export class AddNewLines extends React.Component<Props> {
|
|||
renderNonNewLine: ({ text }) => text,
|
||||
};
|
||||
|
||||
public render():
|
||||
public override render():
|
||||
| JSX.Element
|
||||
| string
|
||||
| null
|
||||
|
|
|
@ -214,7 +214,7 @@ export class ContactDetail extends React.Component<Props> {
|
|||
});
|
||||
}
|
||||
|
||||
public render(): JSX.Element {
|
||||
public override render(): JSX.Element {
|
||||
const { contact, hasSignalAccount, i18n, onSendMessage } = this.props;
|
||||
const isIncoming = false;
|
||||
const module = 'contact-detail';
|
||||
|
|
|
@ -587,7 +587,7 @@ export class ConversationHeader extends React.Component<PropsType, StateType> {
|
|||
);
|
||||
}
|
||||
|
||||
public render(): ReactNode {
|
||||
public override render(): ReactNode {
|
||||
const { id, isSMSOnly, i18n, onSetDisappearingMessages, expireTimer } =
|
||||
this.props;
|
||||
const { isNarrow, modalState } = this.state;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright 2018-2020 Signal Messenger, LLC
|
||||
// Copyright 2018-2021 Signal Messenger, LLC
|
||||
// SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
import React from 'react';
|
||||
|
@ -54,7 +54,7 @@ export class Emojify extends React.Component<Props> {
|
|||
renderNonEmoji: ({ text }) => text,
|
||||
};
|
||||
|
||||
public render(): null | Array<JSX.Element | string | null> {
|
||||
public override render(): null | Array<JSX.Element | string | null> {
|
||||
const { text, sizeClass, renderNonEmoji } = this.props;
|
||||
|
||||
// We have to do this, because renderNonEmoji is not required in our Props object,
|
||||
|
|
|
@ -36,7 +36,7 @@ export class ErrorBoundary extends React.PureComponent<Props, State> {
|
|||
return { error };
|
||||
}
|
||||
|
||||
public render(): ReactNode {
|
||||
public override render(): ReactNode {
|
||||
const { error } = this.state;
|
||||
const { i18n, children } = this.props;
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright 2018-2020 Signal Messenger, LLC
|
||||
// Copyright 2018-2021 Signal Messenger, LLC
|
||||
// SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
import React from 'react';
|
||||
|
@ -24,7 +24,7 @@ export class ExpireTimer extends React.Component<Props> {
|
|||
this.interval = null;
|
||||
}
|
||||
|
||||
public componentDidMount(): void {
|
||||
public override componentDidMount(): void {
|
||||
const { expirationLength } = this.props;
|
||||
const increment = getIncrement(expirationLength);
|
||||
const updateFrequency = Math.max(increment, 500);
|
||||
|
@ -39,13 +39,13 @@ export class ExpireTimer extends React.Component<Props> {
|
|||
this.interval = setInterval(update, updateFrequency);
|
||||
}
|
||||
|
||||
public componentWillUnmount(): void {
|
||||
public override componentWillUnmount(): void {
|
||||
if (this.interval) {
|
||||
clearInterval(this.interval);
|
||||
}
|
||||
}
|
||||
|
||||
public render(): JSX.Element {
|
||||
public override render(): JSX.Element {
|
||||
const {
|
||||
direction,
|
||||
expirationLength,
|
||||
|
|
|
@ -120,7 +120,7 @@ export class GroupNotification extends React.Component<Props> {
|
|||
}
|
||||
}
|
||||
|
||||
public render(): JSX.Element {
|
||||
public override render(): JSX.Element {
|
||||
const { changes: rawChanges, i18n, from } = this.props;
|
||||
|
||||
// This check is just to be extra careful, and can probably be removed.
|
||||
|
|
|
@ -132,7 +132,7 @@ export class Image extends React.Component<Props> {
|
|||
);
|
||||
};
|
||||
|
||||
public render(): JSX.Element {
|
||||
public override render(): JSX.Element {
|
||||
const {
|
||||
alt,
|
||||
attachment,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright 2019-2020 Signal Messenger, LLC
|
||||
// Copyright 2019-2021 Signal Messenger, LLC
|
||||
// SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
import React from 'react';
|
||||
|
@ -37,14 +37,14 @@ export class InlineNotificationWrapper extends React.Component<PropsType> {
|
|||
}
|
||||
};
|
||||
|
||||
public componentDidMount(): void {
|
||||
public override componentDidMount(): void {
|
||||
const { isSelected } = this.props;
|
||||
if (isSelected) {
|
||||
this.setFocus();
|
||||
}
|
||||
}
|
||||
|
||||
public componentDidUpdate(prevProps: PropsType): void {
|
||||
public override componentDidUpdate(prevProps: PropsType): void {
|
||||
const { isSelected } = this.props;
|
||||
|
||||
if (!prevProps.isSelected && isSelected) {
|
||||
|
@ -52,7 +52,7 @@ export class InlineNotificationWrapper extends React.Component<PropsType> {
|
|||
}
|
||||
}
|
||||
|
||||
public render(): JSX.Element {
|
||||
public override render(): JSX.Element {
|
||||
const { children } = this.props;
|
||||
|
||||
return (
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright 2018-2020 Signal Messenger, LLC
|
||||
// Copyright 2018-2021 Signal Messenger, LLC
|
||||
// SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
import React from 'react';
|
||||
|
@ -326,7 +326,7 @@ export class Linkify extends React.Component<Props> {
|
|||
renderNonLink: ({ text }) => text,
|
||||
};
|
||||
|
||||
public render():
|
||||
public override render():
|
||||
| JSX.Element
|
||||
| string
|
||||
| null
|
||||
|
|
|
@ -418,7 +418,7 @@ export class Message extends React.PureComponent<Props, State> {
|
|||
}
|
||||
};
|
||||
|
||||
public componentDidMount(): void {
|
||||
public override componentDidMount(): void {
|
||||
this.startSelectedTimer();
|
||||
this.startDeleteForEveryoneTimer();
|
||||
|
||||
|
@ -445,7 +445,7 @@ export class Message extends React.PureComponent<Props, State> {
|
|||
}
|
||||
}
|
||||
|
||||
public componentWillUnmount(): void {
|
||||
public override componentWillUnmount(): void {
|
||||
if (this.selectedTimeout) {
|
||||
clearTimeout(this.selectedTimeout);
|
||||
}
|
||||
|
@ -462,7 +462,7 @@ export class Message extends React.PureComponent<Props, State> {
|
|||
this.toggleReactionPicker(true);
|
||||
}
|
||||
|
||||
public componentDidUpdate(prevProps: Props): void {
|
||||
public override componentDidUpdate(prevProps: Props): void {
|
||||
const { canDeleteForEveryone, isSelected, status, timestamp } = this.props;
|
||||
|
||||
this.startSelectedTimer();
|
||||
|
@ -2414,7 +2414,7 @@ export class Message extends React.PureComponent<Props, State> {
|
|||
);
|
||||
}
|
||||
|
||||
public render(): JSX.Element | null {
|
||||
public override render(): JSX.Element | null {
|
||||
const { author, attachments, direction, id, isSticker, timestamp } =
|
||||
this.props;
|
||||
const { expired, expiring, imageBroken, isSelected } = this.state;
|
||||
|
|
|
@ -105,7 +105,7 @@ export class MessageDetail extends React.Component<Props> {
|
|||
|
||||
private readonly messageContainerRef = React.createRef<HTMLDivElement>();
|
||||
|
||||
public componentDidMount(): void {
|
||||
public override componentDidMount(): void {
|
||||
// When this component is created, it's initially not part of the DOM, and then it's
|
||||
// added off-screen and animated in. This ensures that the focus takes.
|
||||
setTimeout(() => {
|
||||
|
@ -257,7 +257,7 @@ export class MessageDetail extends React.Component<Props> {
|
|||
);
|
||||
}
|
||||
|
||||
public render(): JSX.Element {
|
||||
public override render(): JSX.Element {
|
||||
const {
|
||||
errors,
|
||||
message,
|
||||
|
|
|
@ -126,7 +126,7 @@ export class Quote extends React.Component<Props, State> {
|
|||
};
|
||||
}
|
||||
|
||||
componentDidMount(): void {
|
||||
override componentDidMount(): void {
|
||||
const { doubleCheckMissingQuoteReference, referencedMessageNotFound } =
|
||||
this.props;
|
||||
|
||||
|
@ -427,7 +427,7 @@ export class Quote extends React.Component<Props, State> {
|
|||
);
|
||||
}
|
||||
|
||||
public render(): JSX.Element | null {
|
||||
public override render(): JSX.Element | null {
|
||||
const {
|
||||
conversationColor,
|
||||
customColor,
|
||||
|
|
|
@ -1005,20 +1005,20 @@ export class Timeline extends React.PureComponent<PropsType, StateType> {
|
|||
}
|
||||
};
|
||||
|
||||
public componentDidMount(): void {
|
||||
public override componentDidMount(): void {
|
||||
this.updateWithVisibleRows();
|
||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||
// @ts-ignore
|
||||
window.registerForActive(this.updateWithVisibleRows);
|
||||
}
|
||||
|
||||
public componentWillUnmount(): void {
|
||||
public override componentWillUnmount(): void {
|
||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||
// @ts-ignore
|
||||
window.unregisterForActive(this.updateWithVisibleRows);
|
||||
}
|
||||
|
||||
public componentDidUpdate(
|
||||
public override componentDidUpdate(
|
||||
prevProps: Readonly<PropsType>,
|
||||
prevState: Readonly<StateType>
|
||||
): void {
|
||||
|
@ -1311,7 +1311,7 @@ export class Timeline extends React.PureComponent<PropsType, StateType> {
|
|||
}
|
||||
};
|
||||
|
||||
public render(): JSX.Element | null {
|
||||
public override render(): JSX.Element | null {
|
||||
const {
|
||||
acknowledgeGroupMemberNameCollisions,
|
||||
areWeAdmin,
|
||||
|
|
|
@ -171,7 +171,7 @@ export type PropsType = PropsLocalType &
|
|||
>;
|
||||
|
||||
export class TimelineItem extends React.PureComponent<PropsType> {
|
||||
public render(): JSX.Element | null {
|
||||
public override render(): JSX.Element | null {
|
||||
const {
|
||||
containerElementRef,
|
||||
conversationId,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright 2019-2020 Signal Messenger, LLC
|
||||
// Copyright 2019-2021 Signal Messenger, LLC
|
||||
// SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
import React from 'react';
|
||||
|
@ -40,7 +40,7 @@ export class TimelineLoadingRow extends React.PureComponent<Props> {
|
|||
return <Spinner size="24" svgSize="small" direction="on-background" />;
|
||||
}
|
||||
|
||||
public render(): JSX.Element {
|
||||
public override render(): JSX.Element {
|
||||
return (
|
||||
<div className="module-timeline-loading-row">{this.renderContents()}</div>
|
||||
);
|
||||
|
|
|
@ -31,7 +31,7 @@ export class Timestamp extends React.Component<Props> {
|
|||
this.interval = null;
|
||||
}
|
||||
|
||||
public componentDidMount(): void {
|
||||
public override componentDidMount(): void {
|
||||
const update = () => {
|
||||
this.setState({
|
||||
// Used to trigger renders
|
||||
|
@ -42,13 +42,13 @@ export class Timestamp extends React.Component<Props> {
|
|||
this.interval = setInterval(update, UPDATE_FREQUENCY);
|
||||
}
|
||||
|
||||
public componentWillUnmount(): void {
|
||||
public override componentWillUnmount(): void {
|
||||
if (this.interval) {
|
||||
clearInterval(this.interval);
|
||||
}
|
||||
}
|
||||
|
||||
public render(): JSX.Element | null {
|
||||
public override render(): JSX.Element | null {
|
||||
const {
|
||||
direction,
|
||||
i18n,
|
||||
|
|
|
@ -66,7 +66,7 @@ export class TypingBubble extends React.PureComponent<Props> {
|
|||
);
|
||||
}
|
||||
|
||||
public render(): JSX.Element {
|
||||
public override render(): JSX.Element {
|
||||
const { i18n, conversationType } = this.props;
|
||||
const isGroup = conversationType === 'group';
|
||||
|
||||
|
|
|
@ -61,7 +61,7 @@ export class VerificationNotification extends React.Component<Props> {
|
|||
);
|
||||
}
|
||||
|
||||
public render(): JSX.Element {
|
||||
public override render(): JSX.Element {
|
||||
const { type } = this.props;
|
||||
const icon = type === 'markVerified' ? 'verified' : 'verified-not';
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright 2018-2020 Signal Messenger, LLC
|
||||
// Copyright 2018-2021 Signal Messenger, LLC
|
||||
// SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
import React from 'react';
|
||||
|
@ -20,7 +20,7 @@ export type Props = {
|
|||
};
|
||||
|
||||
export class AttachmentSection extends React.Component<Props> {
|
||||
public render(): JSX.Element {
|
||||
public override render(): JSX.Element {
|
||||
const { header } = this.props;
|
||||
|
||||
return (
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright 2018-2020 Signal Messenger, LLC
|
||||
// Copyright 2018-2021 Signal Messenger, LLC
|
||||
// SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
import React from 'react';
|
||||
|
@ -23,7 +23,7 @@ export class DocumentListItem extends React.Component<Props> {
|
|||
shouldShowSeparator: true,
|
||||
};
|
||||
|
||||
public render(): JSX.Element {
|
||||
public override render(): JSX.Element {
|
||||
const { shouldShowSeparator } = this.props;
|
||||
|
||||
return (
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright 2018-2020 Signal Messenger, LLC
|
||||
// Copyright 2018-2021 Signal Messenger, LLC
|
||||
// SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
import React from 'react';
|
||||
|
@ -78,7 +78,7 @@ export class MediaGallery extends React.Component<Props, State> {
|
|||
};
|
||||
}
|
||||
|
||||
public componentDidMount(): void {
|
||||
public override componentDidMount(): void {
|
||||
// When this component is created, it's initially not part of the DOM, and then it's
|
||||
// added off-screen and animated in. This ensures that the focus takes.
|
||||
setTimeout(() => {
|
||||
|
@ -88,7 +88,7 @@ export class MediaGallery extends React.Component<Props, State> {
|
|||
});
|
||||
}
|
||||
|
||||
public render(): JSX.Element {
|
||||
public override render(): JSX.Element {
|
||||
const { selectedTab } = this.state;
|
||||
|
||||
return (
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright 2018-2020 Signal Messenger, LLC
|
||||
// Copyright 2018-2021 Signal Messenger, LLC
|
||||
// SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
import React from 'react';
|
||||
|
@ -111,7 +111,7 @@ export class MediaGridItem extends React.Component<Props, State> {
|
|||
);
|
||||
}
|
||||
|
||||
public render(): JSX.Element {
|
||||
public override render(): JSX.Element {
|
||||
const { onClick } = this.props;
|
||||
|
||||
return (
|
||||
|
|
|
@ -137,7 +137,7 @@ export class MessageBodyHighlight extends React.Component<Props> {
|
|||
return results;
|
||||
}
|
||||
|
||||
public render(): ReactNode {
|
||||
public override render(): ReactNode {
|
||||
return <div className={CLASS_NAME}>{this.renderContents()}</div>;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -48,7 +48,7 @@ export class LeftPaneArchiveHelper extends LeftPaneHelper<LeftPaneArchivePropsTy
|
|||
}
|
||||
}
|
||||
|
||||
getHeaderContents({
|
||||
override getHeaderContents({
|
||||
clearSearch,
|
||||
i18n,
|
||||
showInbox,
|
||||
|
@ -92,11 +92,11 @@ export class LeftPaneArchiveHelper extends LeftPaneHelper<LeftPaneArchivePropsTy
|
|||
);
|
||||
}
|
||||
|
||||
getBackAction({ showInbox }: { showInbox: () => void }): () => void {
|
||||
override getBackAction({ showInbox }: { showInbox: () => void }): () => void {
|
||||
return showInbox;
|
||||
}
|
||||
|
||||
getPreRowsNode({
|
||||
override getPreRowsNode({
|
||||
i18n,
|
||||
}: Readonly<{ i18n: LocalizerType }>): ReactChild | null {
|
||||
if (this.searchHelper) {
|
||||
|
@ -130,7 +130,7 @@ export class LeftPaneArchiveHelper extends LeftPaneHelper<LeftPaneArchivePropsTy
|
|||
: undefined;
|
||||
}
|
||||
|
||||
getRowIndexToScrollTo(
|
||||
override getRowIndexToScrollTo(
|
||||
selectedConversationId: undefined | string
|
||||
): undefined | number {
|
||||
if (this.searchHelper) {
|
||||
|
@ -194,7 +194,7 @@ export class LeftPaneArchiveHelper extends LeftPaneHelper<LeftPaneArchivePropsTy
|
|||
return false;
|
||||
}
|
||||
|
||||
onKeyDown(
|
||||
override onKeyDown(
|
||||
event: KeyboardEvent,
|
||||
{
|
||||
searchInConversation,
|
||||
|
|
|
@ -72,7 +72,7 @@ export class LeftPaneChooseGroupMembersHelper extends LeftPaneHelper<LeftPaneCho
|
|||
);
|
||||
}
|
||||
|
||||
getHeaderContents({
|
||||
override getHeaderContents({
|
||||
i18n,
|
||||
startComposing,
|
||||
}: Readonly<{
|
||||
|
@ -97,7 +97,7 @@ export class LeftPaneChooseGroupMembersHelper extends LeftPaneHelper<LeftPaneCho
|
|||
);
|
||||
}
|
||||
|
||||
getBackAction({
|
||||
override getBackAction({
|
||||
startComposing,
|
||||
}: {
|
||||
startComposing: () => void;
|
||||
|
@ -105,7 +105,7 @@ export class LeftPaneChooseGroupMembersHelper extends LeftPaneHelper<LeftPaneCho
|
|||
return startComposing;
|
||||
}
|
||||
|
||||
getPreRowsNode({
|
||||
override getPreRowsNode({
|
||||
closeCantAddContactToGroupModal,
|
||||
closeMaximumGroupSizeModal,
|
||||
closeRecommendedGroupSizeModal,
|
||||
|
@ -196,7 +196,7 @@ export class LeftPaneChooseGroupMembersHelper extends LeftPaneHelper<LeftPaneCho
|
|||
);
|
||||
}
|
||||
|
||||
getFooterContents({
|
||||
override getFooterContents({
|
||||
i18n,
|
||||
startSettingGroupMetadata,
|
||||
}: Readonly<{
|
||||
|
|
|
@ -67,7 +67,7 @@ export class LeftPaneComposeHelper extends LeftPaneHelper<LeftPaneComposePropsTy
|
|||
this.isUsernamesEnabled = isUsernamesEnabled;
|
||||
}
|
||||
|
||||
getHeaderContents({
|
||||
override getHeaderContents({
|
||||
i18n,
|
||||
showInbox,
|
||||
}: Readonly<{
|
||||
|
@ -90,11 +90,11 @@ export class LeftPaneComposeHelper extends LeftPaneHelper<LeftPaneComposePropsTy
|
|||
);
|
||||
}
|
||||
|
||||
getBackAction({ showInbox }: { showInbox: () => void }): () => void {
|
||||
override getBackAction({ showInbox }: { showInbox: () => void }): () => void {
|
||||
return showInbox;
|
||||
}
|
||||
|
||||
getPreRowsNode({
|
||||
override getPreRowsNode({
|
||||
i18n,
|
||||
onChangeComposeSearchTerm,
|
||||
}: Readonly<{
|
||||
|
|
|
@ -61,7 +61,7 @@ export class LeftPaneInboxHelper extends LeftPaneHelper<LeftPaneInboxPropsType>
|
|||
);
|
||||
}
|
||||
|
||||
getPreRowsNode({
|
||||
override getPreRowsNode({
|
||||
i18n,
|
||||
}: Readonly<{ i18n: LocalizerType }>): null | ReactChild {
|
||||
if (this.getRowCount() === 0) {
|
||||
|
@ -156,7 +156,7 @@ export class LeftPaneInboxHelper extends LeftPaneHelper<LeftPaneInboxPropsType>
|
|||
return undefined;
|
||||
}
|
||||
|
||||
getRowIndexToScrollTo(
|
||||
override getRowIndexToScrollTo(
|
||||
selectedConversationId: undefined | string
|
||||
): undefined | number {
|
||||
if (!selectedConversationId) {
|
||||
|
@ -188,7 +188,7 @@ export class LeftPaneInboxHelper extends LeftPaneHelper<LeftPaneInboxPropsType>
|
|||
return undefined;
|
||||
}
|
||||
|
||||
requiresFullWidth(): boolean {
|
||||
override requiresFullWidth(): boolean {
|
||||
const hasNoConversations =
|
||||
!this.conversations.length &&
|
||||
!this.pinnedConversations.length &&
|
||||
|
@ -228,7 +228,7 @@ export class LeftPaneInboxHelper extends LeftPaneHelper<LeftPaneInboxPropsType>
|
|||
);
|
||||
}
|
||||
|
||||
onKeyDown(
|
||||
override onKeyDown(
|
||||
event: KeyboardEvent,
|
||||
options: Readonly<{
|
||||
searchInConversation: (conversationId: string) => unknown;
|
||||
|
|
|
@ -77,7 +77,7 @@ export class LeftPaneSearchHelper extends LeftPaneHelper<LeftPaneSearchPropsType
|
|||
this.searchTerm = searchTerm;
|
||||
}
|
||||
|
||||
getPreRowsNode({
|
||||
override getPreRowsNode({
|
||||
i18n,
|
||||
}: Readonly<{ i18n: LocalizerType }>): null | ReactChild {
|
||||
const mightHaveSearchResults = this.allResults().some(
|
||||
|
@ -142,7 +142,7 @@ export class LeftPaneSearchHelper extends LeftPaneHelper<LeftPaneSearchPropsType
|
|||
}
|
||||
|
||||
// This is currently unimplemented. See DESKTOP-1170.
|
||||
getRowIndexToScrollTo(
|
||||
override getRowIndexToScrollTo(
|
||||
_selectedConversationId: undefined | string
|
||||
): undefined | number {
|
||||
return undefined;
|
||||
|
@ -231,7 +231,7 @@ export class LeftPaneSearchHelper extends LeftPaneHelper<LeftPaneSearchPropsType
|
|||
: undefined;
|
||||
}
|
||||
|
||||
isScrollable(): boolean {
|
||||
override isScrollable(): boolean {
|
||||
return !this.isLoading();
|
||||
}
|
||||
|
||||
|
@ -267,7 +267,7 @@ export class LeftPaneSearchHelper extends LeftPaneHelper<LeftPaneSearchPropsType
|
|||
return undefined;
|
||||
}
|
||||
|
||||
onKeyDown(
|
||||
override onKeyDown(
|
||||
event: KeyboardEvent,
|
||||
options: Readonly<{
|
||||
searchInConversation: (conversationId: string) => unknown;
|
||||
|
|
|
@ -75,7 +75,7 @@ export class LeftPaneSetGroupMetadataHelper extends LeftPaneHelper<LeftPaneSetGr
|
|||
this.userAvatarData = userAvatarData;
|
||||
}
|
||||
|
||||
getHeaderContents({
|
||||
override getHeaderContents({
|
||||
i18n,
|
||||
showChooseGroupMembers,
|
||||
}: Readonly<{
|
||||
|
@ -101,7 +101,7 @@ export class LeftPaneSetGroupMetadataHelper extends LeftPaneHelper<LeftPaneSetGr
|
|||
);
|
||||
}
|
||||
|
||||
getBackAction({
|
||||
override getBackAction({
|
||||
showChooseGroupMembers,
|
||||
}: {
|
||||
showChooseGroupMembers: () => void;
|
||||
|
@ -109,7 +109,7 @@ export class LeftPaneSetGroupMetadataHelper extends LeftPaneHelper<LeftPaneSetGr
|
|||
return this.isCreating ? undefined : showChooseGroupMembers;
|
||||
}
|
||||
|
||||
getPreRowsNode({
|
||||
override getPreRowsNode({
|
||||
clearGroupCreationError,
|
||||
composeDeleteAvatarFromDisk,
|
||||
composeReplaceAvatar,
|
||||
|
@ -219,7 +219,7 @@ export class LeftPaneSetGroupMetadataHelper extends LeftPaneHelper<LeftPaneSetGr
|
|||
);
|
||||
}
|
||||
|
||||
getFooterContents({
|
||||
override getFooterContents({
|
||||
createGroup,
|
||||
i18n,
|
||||
}: Readonly<{
|
||||
|
|
|
@ -61,7 +61,7 @@ export class NormalMessageSendJobQueue extends JobQueue<NormalMessageSendJobData
|
|||
return { messageId, conversationId };
|
||||
}
|
||||
|
||||
protected getInMemoryQueue({
|
||||
protected override getInMemoryQueue({
|
||||
data,
|
||||
}: Readonly<{ data: NormalMessageSendJobData }>): PQueue {
|
||||
return this.inMemoryQueues.get(data.conversationId);
|
||||
|
|
|
@ -47,7 +47,7 @@ export class ReactionJobQueue extends JobQueue<ReactionJobData> {
|
|||
return reactionJobData.parse(data);
|
||||
}
|
||||
|
||||
protected getInMemoryQueue({
|
||||
protected override getInMemoryQueue({
|
||||
data,
|
||||
}: Readonly<{ data: Pick<ReactionJobData, 'messageId'> }>): PQueue {
|
||||
return this.inMemoryQueues.get(data.messageId);
|
||||
|
|
|
@ -203,7 +203,7 @@ export class ConversationModel extends window.Backbone
|
|||
|
||||
private isInReduxBatch = false;
|
||||
|
||||
defaults(): Partial<ConversationAttributesType> {
|
||||
override defaults(): Partial<ConversationAttributesType> {
|
||||
return {
|
||||
unreadCount: 0,
|
||||
verified: window.textsecure.storage.protocol.VerifiedStatus.DEFAULT,
|
||||
|
@ -244,7 +244,9 @@ export class ConversationModel extends window.Backbone
|
|||
return collection;
|
||||
}
|
||||
|
||||
initialize(attributes: Partial<ConversationAttributesType> = {}): void {
|
||||
override initialize(
|
||||
attributes: Partial<ConversationAttributesType> = {}
|
||||
): void {
|
||||
if (isValidE164(attributes.id, false)) {
|
||||
this.set({ id: UUID.generate().toString(), e164: attributes.id });
|
||||
}
|
||||
|
@ -1078,7 +1080,7 @@ export class ConversationModel extends window.Backbone
|
|||
this.setRegistered();
|
||||
}
|
||||
|
||||
isValid(): boolean {
|
||||
override isValid(): boolean {
|
||||
return (
|
||||
isDirectConversation(this.attributes) ||
|
||||
isGroupV1(this.attributes) ||
|
||||
|
@ -2956,7 +2958,7 @@ export class ConversationModel extends window.Backbone
|
|||
);
|
||||
}
|
||||
|
||||
validate(attributes = this.attributes): string | null {
|
||||
override validate(attributes = this.attributes): string | null {
|
||||
const required = ['type'];
|
||||
const missing = window._.filter(required, attr => !attributes[attr]);
|
||||
if (missing.length) {
|
||||
|
|
|
@ -203,7 +203,7 @@ export class MessageModel extends window.Backbone.Model<MessageAttributesType> {
|
|||
|
||||
cachedOutgoingStickerData?: WhatIsThis;
|
||||
|
||||
initialize(attributes: unknown): void {
|
||||
override initialize(attributes: unknown): void {
|
||||
if (_.isObject(attributes)) {
|
||||
this.set(
|
||||
TypedMessage.initializeSchemaVersion({
|
||||
|
@ -756,14 +756,14 @@ export class MessageModel extends window.Backbone.Model<MessageAttributesType> {
|
|||
return `${account}.${device} ${timestamp}`;
|
||||
}
|
||||
|
||||
defaults(): Partial<MessageAttributesType> {
|
||||
override defaults(): Partial<MessageAttributesType> {
|
||||
return {
|
||||
timestamp: new Date().getTime(),
|
||||
attachments: [],
|
||||
};
|
||||
}
|
||||
|
||||
validate(attributes: Record<string, unknown>): void {
|
||||
override validate(attributes: Record<string, unknown>): void {
|
||||
const required = ['conversationId', 'received_at', 'sent_at'];
|
||||
const missing = _.filter(required, attr => !attributes[attr]);
|
||||
if (missing.length) {
|
||||
|
@ -1003,7 +1003,7 @@ export class MessageModel extends window.Backbone.Model<MessageAttributesType> {
|
|||
await window.Signal.Data.deleteSentProtoByMessageId(this.id);
|
||||
}
|
||||
|
||||
isEmpty(): boolean {
|
||||
override isEmpty(): boolean {
|
||||
const { attributes } = this;
|
||||
|
||||
// Core message types - we check for all four because they can each stand alone
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright 2020 Signal Messenger, LLC
|
||||
// Copyright 2020-2021 Signal Messenger, LLC
|
||||
// SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
import type Parchment from 'parchment';
|
||||
|
@ -13,13 +13,13 @@ const Embed: typeof Parchment.Embed = Quill.import('blots/embed');
|
|||
// ts/components/emoji/Emoji.tsx
|
||||
|
||||
export class EmojiBlot extends Embed {
|
||||
static blotName = 'emoji';
|
||||
static override blotName = 'emoji';
|
||||
|
||||
static tagName = 'img';
|
||||
static override tagName = 'img';
|
||||
|
||||
static className = 'emoji-blot';
|
||||
static override className = 'emoji-blot';
|
||||
|
||||
static create(emoji: string): Node {
|
||||
static override create(emoji: string): Node {
|
||||
const node = super.create(undefined) as HTMLElement;
|
||||
node.dataset.emoji = emoji;
|
||||
|
||||
|
@ -33,7 +33,7 @@ export class EmojiBlot extends Embed {
|
|||
return node;
|
||||
}
|
||||
|
||||
static value(node: HTMLElement): string | undefined {
|
||||
static override value(node: HTMLElement): string | undefined {
|
||||
return node.dataset.emoji;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright 2020 Signal Messenger, LLC
|
||||
// Copyright 2020-2021 Signal Messenger, LLC
|
||||
// SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
/* eslint-disable max-classes-per-file */
|
||||
|
@ -17,13 +17,13 @@ declare class QuillEmbed extends Parchment.Embed {
|
|||
const Embed: typeof QuillEmbed = Quill.import('blots/embed');
|
||||
|
||||
export class MentionBlot extends Embed {
|
||||
static blotName = 'mention';
|
||||
static override blotName = 'mention';
|
||||
|
||||
static className = 'mention-blot';
|
||||
static override className = 'mention-blot';
|
||||
|
||||
static tagName = 'span';
|
||||
static override tagName = 'span';
|
||||
|
||||
static create(value: MentionBlotValue): Node {
|
||||
static override create(value: MentionBlotValue): Node {
|
||||
const node = super.create(undefined) as HTMLElement;
|
||||
|
||||
MentionBlot.buildSpan(value, node);
|
||||
|
@ -31,7 +31,7 @@ export class MentionBlot extends Embed {
|
|||
return node;
|
||||
}
|
||||
|
||||
static value(node: HTMLElement): MentionBlotValue {
|
||||
static override value(node: HTMLElement): MentionBlotValue {
|
||||
const { uuid, title } = node.dataset;
|
||||
if (uuid === undefined || title === undefined) {
|
||||
throw new Error(
|
||||
|
|
|
@ -128,7 +128,9 @@ describe('JobQueue', () => {
|
|||
return z.number().parse(data);
|
||||
}
|
||||
|
||||
protected getInMemoryQueue(parsedJob: ParsedJob<number>): PQueue {
|
||||
protected override getInMemoryQueue(
|
||||
parsedJob: ParsedJob<number>
|
||||
): PQueue {
|
||||
assert(
|
||||
new Set([1, 2, 3, 4]).has(parsedJob.data),
|
||||
'Bad data passed to `getInMemoryQueue`'
|
||||
|
|
|
@ -150,13 +150,13 @@ export class CDSSocket extends EventEmitter {
|
|||
|
||||
// EventEmitter types
|
||||
|
||||
public on(
|
||||
public override on(
|
||||
type: 'close',
|
||||
callback: (code: number, reason?: string) => void
|
||||
): this;
|
||||
public on(type: 'error', callback: (error: Error) => void): this;
|
||||
public override on(type: 'error', callback: (error: Error) => void): this;
|
||||
|
||||
public on(
|
||||
public override on(
|
||||
type: string | symbol,
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
listener: (...args: Array<any>) => void
|
||||
|
@ -164,11 +164,11 @@ export class CDSSocket extends EventEmitter {
|
|||
return super.on(type, listener);
|
||||
}
|
||||
|
||||
public emit(type: 'close', code: number, reason?: string): boolean;
|
||||
public emit(type: 'error', error: Error): boolean;
|
||||
public override emit(type: 'close', code: number, reason?: string): boolean;
|
||||
public override emit(type: 'error', error: Error): boolean;
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
public emit(type: string | symbol, ...args: Array<any>): boolean {
|
||||
public override emit(type: string | symbol, ...args: Array<any>): boolean {
|
||||
return super.emit(type, ...args);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@ export type HTTPErrorHeadersType = {
|
|||
};
|
||||
|
||||
export class HTTPError extends Error {
|
||||
public readonly name = 'HTTPError';
|
||||
public override readonly name = 'HTTPError';
|
||||
|
||||
public readonly code: number;
|
||||
|
||||
|
@ -48,10 +48,6 @@ export class HTTPError extends Error {
|
|||
}
|
||||
|
||||
export class ReplayableError extends Error {
|
||||
name: string;
|
||||
|
||||
message: string;
|
||||
|
||||
functionCode?: number;
|
||||
|
||||
constructor(options: {
|
||||
|
|
|
@ -350,134 +350,149 @@ export default class MessageReceiver
|
|||
// EventTarget types
|
||||
//
|
||||
|
||||
public addEventListener(
|
||||
public override addEventListener(
|
||||
name: 'reconnect',
|
||||
handler: (ev: ReconnectEvent) => void
|
||||
): void;
|
||||
|
||||
public addEventListener(
|
||||
public override addEventListener(
|
||||
name: 'empty',
|
||||
handler: (ev: EmptyEvent) => void
|
||||
): void;
|
||||
|
||||
public addEventListener(
|
||||
public override addEventListener(
|
||||
name: 'progress',
|
||||
handler: (ev: ProgressEvent) => void
|
||||
): void;
|
||||
|
||||
public addEventListener(
|
||||
public override addEventListener(
|
||||
name: 'typing',
|
||||
handler: (ev: TypingEvent) => void
|
||||
): void;
|
||||
|
||||
public addEventListener(
|
||||
public override addEventListener(
|
||||
name: 'error',
|
||||
handler: (ev: ErrorEvent) => void
|
||||
): void;
|
||||
|
||||
public addEventListener(
|
||||
public override addEventListener(
|
||||
name: 'delivery',
|
||||
handler: (ev: DeliveryEvent) => void
|
||||
): void;
|
||||
|
||||
public addEventListener(
|
||||
public override addEventListener(
|
||||
name: 'decryption-error',
|
||||
handler: (ev: DecryptionErrorEvent) => void
|
||||
): void;
|
||||
|
||||
public addEventListener(name: 'sent', handler: (ev: SentEvent) => void): void;
|
||||
public override addEventListener(
|
||||
name: 'sent',
|
||||
handler: (ev: SentEvent) => void
|
||||
): void;
|
||||
|
||||
public addEventListener(
|
||||
public override addEventListener(
|
||||
name: 'profileKeyUpdate',
|
||||
handler: (ev: ProfileKeyUpdateEvent) => void
|
||||
): void;
|
||||
|
||||
public addEventListener(
|
||||
public override addEventListener(
|
||||
name: 'message',
|
||||
handler: (ev: MessageEvent) => void
|
||||
): void;
|
||||
|
||||
public addEventListener(
|
||||
public override addEventListener(
|
||||
name: 'retry-request',
|
||||
handler: (ev: RetryRequestEvent) => void
|
||||
): void;
|
||||
|
||||
public addEventListener(name: 'read', handler: (ev: ReadEvent) => void): void;
|
||||
public override addEventListener(
|
||||
name: 'read',
|
||||
handler: (ev: ReadEvent) => void
|
||||
): void;
|
||||
|
||||
public addEventListener(name: 'view', handler: (ev: ViewEvent) => void): void;
|
||||
public override addEventListener(
|
||||
name: 'view',
|
||||
handler: (ev: ViewEvent) => void
|
||||
): void;
|
||||
|
||||
public addEventListener(
|
||||
public override addEventListener(
|
||||
name: 'configuration',
|
||||
handler: (ev: ConfigurationEvent) => void
|
||||
): void;
|
||||
|
||||
public addEventListener(
|
||||
public override addEventListener(
|
||||
name: 'viewOnceOpenSync',
|
||||
handler: (ev: ViewOnceOpenSyncEvent) => void
|
||||
): void;
|
||||
|
||||
public addEventListener(
|
||||
public override addEventListener(
|
||||
name: 'messageRequestResponse',
|
||||
handler: (ev: MessageRequestResponseEvent) => void
|
||||
): void;
|
||||
|
||||
public addEventListener(
|
||||
public override addEventListener(
|
||||
name: 'fetchLatest',
|
||||
handler: (ev: FetchLatestEvent) => void
|
||||
): void;
|
||||
|
||||
public addEventListener(name: 'keys', handler: (ev: KeysEvent) => void): void;
|
||||
public override addEventListener(
|
||||
name: 'keys',
|
||||
handler: (ev: KeysEvent) => void
|
||||
): void;
|
||||
|
||||
public addEventListener(
|
||||
public override addEventListener(
|
||||
name: 'sticker-pack',
|
||||
handler: (ev: StickerPackEvent) => void
|
||||
): void;
|
||||
|
||||
public addEventListener(
|
||||
public override addEventListener(
|
||||
name: 'verified',
|
||||
handler: (ev: VerifiedEvent) => void
|
||||
): void;
|
||||
|
||||
public addEventListener(
|
||||
public override addEventListener(
|
||||
name: 'readSync',
|
||||
handler: (ev: ReadSyncEvent) => void
|
||||
): void;
|
||||
|
||||
public addEventListener(
|
||||
public override addEventListener(
|
||||
name: 'viewSync',
|
||||
handler: (ev: ViewSyncEvent) => void
|
||||
): void;
|
||||
|
||||
public addEventListener(
|
||||
public override addEventListener(
|
||||
name: 'contact',
|
||||
handler: (ev: ContactEvent) => void
|
||||
): void;
|
||||
|
||||
public addEventListener(
|
||||
public override addEventListener(
|
||||
name: 'contactSync',
|
||||
handler: (ev: ContactSyncEvent) => void
|
||||
): void;
|
||||
|
||||
public addEventListener(
|
||||
public override addEventListener(
|
||||
name: 'group',
|
||||
handler: (ev: GroupEvent) => void
|
||||
): void;
|
||||
|
||||
public addEventListener(
|
||||
public override addEventListener(
|
||||
name: 'groupSync',
|
||||
handler: (ev: GroupSyncEvent) => void
|
||||
): void;
|
||||
|
||||
public addEventListener(
|
||||
public override addEventListener(
|
||||
name: 'envelope',
|
||||
handler: (ev: EnvelopeEvent) => void
|
||||
): void;
|
||||
|
||||
public addEventListener(name: string, handler: EventHandler): void {
|
||||
public override addEventListener(name: string, handler: EventHandler): void {
|
||||
return super.addEventListener(name, handler);
|
||||
}
|
||||
|
||||
public removeEventListener(name: string, handler: EventHandler): void {
|
||||
public override removeEventListener(
|
||||
name: string,
|
||||
handler: EventHandler
|
||||
): void {
|
||||
return super.removeEventListener(name, handler);
|
||||
}
|
||||
|
||||
|
|
|
@ -626,10 +626,13 @@ export class SocketManager extends EventListener {
|
|||
|
||||
// EventEmitter types
|
||||
|
||||
public on(type: 'authError', callback: (error: HTTPError) => void): this;
|
||||
public on(type: 'statusChange', callback: () => void): this;
|
||||
public override on(
|
||||
type: 'authError',
|
||||
callback: (error: HTTPError) => void
|
||||
): this;
|
||||
public override on(type: 'statusChange', callback: () => void): this;
|
||||
|
||||
public on(
|
||||
public override on(
|
||||
type: string | symbol,
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
listener: (...args: Array<any>) => void
|
||||
|
@ -637,11 +640,11 @@ export class SocketManager extends EventListener {
|
|||
return super.on(type, listener);
|
||||
}
|
||||
|
||||
public emit(type: 'authError', error: HTTPError): boolean;
|
||||
public emit(type: 'statusChange'): boolean;
|
||||
public override emit(type: 'authError', error: HTTPError): boolean;
|
||||
public override emit(type: 'statusChange'): boolean;
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
public emit(type: string | symbol, ...args: Array<any>): boolean {
|
||||
public override emit(type: string | symbol, ...args: Array<any>): boolean {
|
||||
return super.emit(type, ...args);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -163,12 +163,12 @@ export default class WebSocketResource extends EventTarget {
|
|||
this.addEventListener('close', () => this.onClose());
|
||||
}
|
||||
|
||||
public addEventListener(
|
||||
public override addEventListener(
|
||||
name: 'close',
|
||||
handler: (ev: CloseEvent) => void
|
||||
): void;
|
||||
|
||||
public addEventListener(name: string, handler: EventHandler): void {
|
||||
public override addEventListener(name: string, handler: EventHandler): void {
|
||||
return super.addEventListener(name, handler);
|
||||
}
|
||||
|
||||
|
|
|
@ -312,7 +312,7 @@ export class ConversationView extends window.Backbone.View<ConversationModel> {
|
|||
this.updateAttachmentsView();
|
||||
}
|
||||
|
||||
events(): Record<string, string> {
|
||||
override events(): Record<string, string> {
|
||||
return {
|
||||
drop: 'onDrop',
|
||||
paste: 'onPaste',
|
||||
|
|
|
@ -11,7 +11,7 @@ window.Whisper = window.Whisper || {};
|
|||
const { Whisper } = window;
|
||||
|
||||
class ConversationStack extends Backbone.View {
|
||||
public className = 'conversation-stack';
|
||||
public override className = 'conversation-stack';
|
||||
|
||||
private conversationStack: Array<ConversationModel> = [];
|
||||
|
||||
|
@ -59,7 +59,7 @@ class ConversationStack extends Backbone.View {
|
|||
this.render();
|
||||
}
|
||||
|
||||
public render(): ConversationStack {
|
||||
public override render(): ConversationStack {
|
||||
const isAnyConversationOpen = Boolean(this.conversationStack.length);
|
||||
this.$('.no-conversation-open').toggle(!isAnyConversationOpen);
|
||||
|
||||
|
|
|
@ -33,6 +33,7 @@
|
|||
// Additional Checks
|
||||
"noUnusedLocals": true, // Report errors on unused locals.
|
||||
"noUnusedParameters": true, // Report errors on unused parameters.
|
||||
"noImplicitOverride": true, // Require explicit "override" keyword in subclasses.
|
||||
"noImplicitReturns": true, // Report error when not all code paths in function return a value.
|
||||
"noFallthroughCasesInSwitch": true, // Report errors for fallthrough cases in switch statement.
|
||||
|
||||
|
|
198
yarn.lock
198
yarn.lock
|
@ -21,6 +21,13 @@
|
|||
dependencies:
|
||||
"@babel/highlight" "^7.12.13"
|
||||
|
||||
"@babel/code-frame@^7.16.0":
|
||||
version "7.16.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.0.tgz#0dfc80309beec8411e65e706461c408b0bb9b431"
|
||||
integrity sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==
|
||||
dependencies:
|
||||
"@babel/highlight" "^7.16.0"
|
||||
|
||||
"@babel/compat-data@^7.13.15":
|
||||
version "7.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.14.0.tgz#a901128bce2ad02565df95e6ecbf195cf9465919"
|
||||
|
@ -76,6 +83,15 @@
|
|||
jsesc "^2.5.1"
|
||||
source-map "^0.5.0"
|
||||
|
||||
"@babel/generator@^7.16.0":
|
||||
version "7.16.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.0.tgz#d40f3d1d5075e62d3500bccb67f3daa8a95265b2"
|
||||
integrity sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew==
|
||||
dependencies:
|
||||
"@babel/types" "^7.16.0"
|
||||
jsesc "^2.5.1"
|
||||
source-map "^0.5.0"
|
||||
|
||||
"@babel/generator@^7.5.5":
|
||||
version "7.5.5"
|
||||
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.5.5.tgz#873a7f936a3c89491b43536d12245b626664e3cf"
|
||||
|
@ -104,12 +120,12 @@
|
|||
dependencies:
|
||||
"@babel/types" "^7.0.0"
|
||||
|
||||
"@babel/helper-annotate-as-pure@^7.12.13":
|
||||
version "7.12.13"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz#0f58e86dfc4bb3b1fcd7db806570e177d439b6ab"
|
||||
integrity sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw==
|
||||
"@babel/helper-annotate-as-pure@^7.16.0":
|
||||
version "7.16.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.0.tgz#9a1f0ebcda53d9a2d00108c4ceace6a5d5f1f08d"
|
||||
integrity sha512-ItmYF9vR4zA8cByDocY05o0LGUkp1zhbTQOH1NFyl5xXEqlTJQCEJjieriw+aFpxo16swMxUnUiKS7a/r4vtHg==
|
||||
dependencies:
|
||||
"@babel/types" "^7.12.13"
|
||||
"@babel/types" "^7.16.0"
|
||||
|
||||
"@babel/helper-builder-binary-assignment-operator-visitor@^7.1.0":
|
||||
version "7.1.0"
|
||||
|
@ -154,17 +170,17 @@
|
|||
browserslist "^4.14.5"
|
||||
semver "^6.3.0"
|
||||
|
||||
"@babel/helper-create-class-features-plugin@^7.14.3":
|
||||
version "7.14.3"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.3.tgz#832111bcf4f57ca57a4c5b1a000fc125abc6554a"
|
||||
integrity sha512-BnEfi5+6J2Lte9LeiL6TxLWdIlEv9Woacc1qXzXBgbikcOzMRM2Oya5XGg/f/ngotv1ej2A/b+3iJH8wbS1+lQ==
|
||||
"@babel/helper-create-class-features-plugin@^7.16.0":
|
||||
version "7.16.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.0.tgz#090d4d166b342a03a9fec37ef4fd5aeb9c7c6a4b"
|
||||
integrity sha512-XLwWvqEaq19zFlF5PTgOod4bUA+XbkR4WLQBct1bkzmxJGB0ZEJaoKF4c8cgH9oBtCDuYJ8BP5NB9uFiEgO5QA==
|
||||
dependencies:
|
||||
"@babel/helper-annotate-as-pure" "^7.12.13"
|
||||
"@babel/helper-function-name" "^7.14.2"
|
||||
"@babel/helper-member-expression-to-functions" "^7.13.12"
|
||||
"@babel/helper-optimise-call-expression" "^7.12.13"
|
||||
"@babel/helper-replace-supers" "^7.14.3"
|
||||
"@babel/helper-split-export-declaration" "^7.12.13"
|
||||
"@babel/helper-annotate-as-pure" "^7.16.0"
|
||||
"@babel/helper-function-name" "^7.16.0"
|
||||
"@babel/helper-member-expression-to-functions" "^7.16.0"
|
||||
"@babel/helper-optimise-call-expression" "^7.16.0"
|
||||
"@babel/helper-replace-supers" "^7.16.0"
|
||||
"@babel/helper-split-export-declaration" "^7.16.0"
|
||||
|
||||
"@babel/helper-create-class-features-plugin@^7.4.4", "@babel/helper-create-class-features-plugin@^7.5.5":
|
||||
version "7.5.5"
|
||||
|
@ -225,6 +241,15 @@
|
|||
"@babel/template" "^7.12.13"
|
||||
"@babel/types" "^7.14.2"
|
||||
|
||||
"@babel/helper-function-name@^7.16.0":
|
||||
version "7.16.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz#b7dd0797d00bbfee4f07e9c4ea5b0e30c8bb1481"
|
||||
integrity sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog==
|
||||
dependencies:
|
||||
"@babel/helper-get-function-arity" "^7.16.0"
|
||||
"@babel/template" "^7.16.0"
|
||||
"@babel/types" "^7.16.0"
|
||||
|
||||
"@babel/helper-function-name@^7.7.4":
|
||||
version "7.7.4"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.7.4.tgz#ab6e041e7135d436d8f0a3eca15de5b67a341a2e"
|
||||
|
@ -248,6 +273,13 @@
|
|||
dependencies:
|
||||
"@babel/types" "^7.12.13"
|
||||
|
||||
"@babel/helper-get-function-arity@^7.16.0":
|
||||
version "7.16.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz#0088c7486b29a9cb5d948b1a1de46db66e089cfa"
|
||||
integrity sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ==
|
||||
dependencies:
|
||||
"@babel/types" "^7.16.0"
|
||||
|
||||
"@babel/helper-get-function-arity@^7.7.4":
|
||||
version "7.7.4"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz#cb46348d2f8808e632f0ab048172130e636005f0"
|
||||
|
@ -255,6 +287,13 @@
|
|||
dependencies:
|
||||
"@babel/types" "^7.7.4"
|
||||
|
||||
"@babel/helper-hoist-variables@^7.16.0":
|
||||
version "7.16.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz#4c9023c2f1def7e28ff46fc1dbcd36a39beaa81a"
|
||||
integrity sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg==
|
||||
dependencies:
|
||||
"@babel/types" "^7.16.0"
|
||||
|
||||
"@babel/helper-hoist-variables@^7.4.4":
|
||||
version "7.4.4"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz#0298b5f25c8c09c53102d52ac4a98f773eb2850a"
|
||||
|
@ -269,6 +308,13 @@
|
|||
dependencies:
|
||||
"@babel/types" "^7.13.12"
|
||||
|
||||
"@babel/helper-member-expression-to-functions@^7.16.0":
|
||||
version "7.16.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.0.tgz#29287040efd197c77636ef75188e81da8bccd5a4"
|
||||
integrity sha512-bsjlBFPuWT6IWhl28EdrQ+gTvSvj5tqVP5Xeftp07SEuz5pLnsXZuDkDD3Rfcxy0IsHmbZ+7B2/9SHzxO0T+sQ==
|
||||
dependencies:
|
||||
"@babel/types" "^7.16.0"
|
||||
|
||||
"@babel/helper-member-expression-to-functions@^7.5.5":
|
||||
version "7.5.5"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz#1fb5b8ec4453a93c439ee9fe3aeea4a84b76b590"
|
||||
|
@ -344,6 +390,13 @@
|
|||
dependencies:
|
||||
"@babel/types" "^7.12.13"
|
||||
|
||||
"@babel/helper-optimise-call-expression@^7.16.0":
|
||||
version "7.16.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz#cecdb145d70c54096b1564f8e9f10cd7d193b338"
|
||||
integrity sha512-SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw==
|
||||
dependencies:
|
||||
"@babel/types" "^7.16.0"
|
||||
|
||||
"@babel/helper-optimise-call-expression@^7.7.4":
|
||||
version "7.7.4"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.7.4.tgz#034af31370d2995242aa4df402c3b7794b2dcdf2"
|
||||
|
@ -356,7 +409,7 @@
|
|||
resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250"
|
||||
integrity sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==
|
||||
|
||||
"@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.8.0":
|
||||
"@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.8.0":
|
||||
version "7.13.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz#806526ce125aed03373bc416a828321e3a6a33af"
|
||||
integrity sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ==
|
||||
|
@ -389,7 +442,7 @@
|
|||
"@babel/traverse" "^7.1.0"
|
||||
"@babel/types" "^7.0.0"
|
||||
|
||||
"@babel/helper-replace-supers@^7.13.12", "@babel/helper-replace-supers@^7.14.3":
|
||||
"@babel/helper-replace-supers@^7.13.12":
|
||||
version "7.14.3"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.14.3.tgz#ca17b318b859d107f0e9b722d58cf12d94436600"
|
||||
integrity sha512-Rlh8qEWZSTfdz+tgNV/N4gz1a0TMNwCUcENhMjHTHKp3LseYH5Jha0NSlyTQWMnjbYcwFt+bqAMqSLHVXkQ6UA==
|
||||
|
@ -399,6 +452,16 @@
|
|||
"@babel/traverse" "^7.14.2"
|
||||
"@babel/types" "^7.14.2"
|
||||
|
||||
"@babel/helper-replace-supers@^7.16.0":
|
||||
version "7.16.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.16.0.tgz#73055e8d3cf9bcba8ddb55cad93fedc860f68f17"
|
||||
integrity sha512-TQxuQfSCdoha7cpRNJvfaYxxxzmbxXw/+6cS7V02eeDYyhxderSoMVALvwupA54/pZcOTtVeJ0xccp1nGWladA==
|
||||
dependencies:
|
||||
"@babel/helper-member-expression-to-functions" "^7.16.0"
|
||||
"@babel/helper-optimise-call-expression" "^7.16.0"
|
||||
"@babel/traverse" "^7.16.0"
|
||||
"@babel/types" "^7.16.0"
|
||||
|
||||
"@babel/helper-replace-supers@^7.5.5":
|
||||
version "7.5.5"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz#f84ce43df031222d2bad068d2626cb5799c34bc2"
|
||||
|
@ -448,6 +511,13 @@
|
|||
dependencies:
|
||||
"@babel/types" "^7.12.13"
|
||||
|
||||
"@babel/helper-split-export-declaration@^7.16.0":
|
||||
version "7.16.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz#29672f43663e936df370aaeb22beddb3baec7438"
|
||||
integrity sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw==
|
||||
dependencies:
|
||||
"@babel/types" "^7.16.0"
|
||||
|
||||
"@babel/helper-split-export-declaration@^7.4.4":
|
||||
version "7.4.4"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz#ff94894a340be78f53f06af038b205c49d993677"
|
||||
|
@ -472,11 +542,21 @@
|
|||
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz#d26cad8a47c65286b15df1547319a5d0bcf27288"
|
||||
integrity sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==
|
||||
|
||||
"@babel/helper-validator-identifier@^7.15.7":
|
||||
version "7.15.7"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389"
|
||||
integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==
|
||||
|
||||
"@babel/helper-validator-option@^7.12.17":
|
||||
version "7.12.17"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz#d1fbf012e1a79b7eebbfdc6d270baaf8d9eb9831"
|
||||
integrity sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==
|
||||
|
||||
"@babel/helper-validator-option@^7.14.5":
|
||||
version "7.14.5"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3"
|
||||
integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==
|
||||
|
||||
"@babel/helper-wrap-function@^7.1.0":
|
||||
version "7.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz#c4e0012445769e2815b55296ead43a958549f6fa"
|
||||
|
@ -523,11 +603,25 @@
|
|||
chalk "^2.0.0"
|
||||
js-tokens "^4.0.0"
|
||||
|
||||
"@babel/highlight@^7.16.0":
|
||||
version "7.16.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.0.tgz#6ceb32b2ca4b8f5f361fb7fd821e3fddf4a1725a"
|
||||
integrity sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==
|
||||
dependencies:
|
||||
"@babel/helper-validator-identifier" "^7.15.7"
|
||||
chalk "^2.0.0"
|
||||
js-tokens "^4.0.0"
|
||||
|
||||
"@babel/parser@^7.12.13", "@babel/parser@^7.14.2", "@babel/parser@^7.14.3":
|
||||
version "7.14.3"
|
||||
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.3.tgz#9b530eecb071fd0c93519df25c5ff9f14759f298"
|
||||
integrity sha512-7MpZDIfI7sUC5zWo2+foJ50CSI5lcqDehZ0lVgIhSi4bFEk94fLAKlF3Q0nzSQQ+ca0lm+O6G9ztKVBeu8PMRQ==
|
||||
|
||||
"@babel/parser@^7.16.0", "@babel/parser@^7.16.3":
|
||||
version "7.16.3"
|
||||
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.3.tgz#271bafcb811080905a119222edbc17909c82261d"
|
||||
integrity sha512-dcNwU1O4sx57ClvLBVFbEgx0UZWfd0JQX5X6fxFRCLHelFBGXFfSz6Y0FAq2PEwUqlqLkdVjVr4VASEOuUnLJw==
|
||||
|
||||
"@babel/parser@^7.4.4", "@babel/parser@^7.5.5":
|
||||
version "7.5.5"
|
||||
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.5.5.tgz#02f077ac8817d3df4a832ef59de67565e71cca4b"
|
||||
|
@ -707,12 +801,12 @@
|
|||
dependencies:
|
||||
"@babel/helper-plugin-utils" "^7.8.0"
|
||||
|
||||
"@babel/plugin-syntax-typescript@^7.12.13":
|
||||
version "7.12.13"
|
||||
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.13.tgz#9dff111ca64154cef0f4dc52cf843d9f12ce4474"
|
||||
integrity sha512-cHP3u1JiUiG2LFDKbXnwVad81GvfyIOmCD6HIEId6ojrY0Drfy2q1jw7BwN7dE84+kTnBjLkXoL3IEy/3JPu2w==
|
||||
"@babel/plugin-syntax-typescript@^7.16.0":
|
||||
version "7.16.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.0.tgz#2feeb13d9334cc582ea9111d3506f773174179bb"
|
||||
integrity sha512-Xv6mEXqVdaqCBfJFyeab0fH2DnUoMsDmhamxsSi4j8nLd4Vtw213WMJr55xxqipC/YVWyPY3K0blJncPYji+dQ==
|
||||
dependencies:
|
||||
"@babel/helper-plugin-utils" "^7.12.13"
|
||||
"@babel/helper-plugin-utils" "^7.14.5"
|
||||
|
||||
"@babel/plugin-syntax-typescript@^7.2.0":
|
||||
version "7.3.3"
|
||||
|
@ -1058,14 +1152,14 @@
|
|||
dependencies:
|
||||
"@babel/helper-plugin-utils" "^7.0.0"
|
||||
|
||||
"@babel/plugin-transform-typescript@^7.13.0":
|
||||
version "7.14.3"
|
||||
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.14.3.tgz#44f67f725a60cccee33d9d6fee5e4f338258f34f"
|
||||
integrity sha512-G5Bb5pY6tJRTC4ag1visSgiDoGgJ1u1fMUgmc2ijLkcIdzP83Q1qyZX4ggFQ/SkR+PNOatkaYC+nKcTlpsX4ag==
|
||||
"@babel/plugin-transform-typescript@^7.16.0":
|
||||
version "7.16.1"
|
||||
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.1.tgz#cc0670b2822b0338355bc1b3d2246a42b8166409"
|
||||
integrity sha512-NO4XoryBng06jjw/qWEU2LhcLJr1tWkhpMam/H4eas/CDKMX/b2/Ylb6EI256Y7+FVPCawwSM1rrJNOpDiz+Lg==
|
||||
dependencies:
|
||||
"@babel/helper-create-class-features-plugin" "^7.14.3"
|
||||
"@babel/helper-plugin-utils" "^7.13.0"
|
||||
"@babel/plugin-syntax-typescript" "^7.12.13"
|
||||
"@babel/helper-create-class-features-plugin" "^7.16.0"
|
||||
"@babel/helper-plugin-utils" "^7.14.5"
|
||||
"@babel/plugin-syntax-typescript" "^7.16.0"
|
||||
|
||||
"@babel/plugin-transform-typescript@^7.3.2":
|
||||
version "7.5.5"
|
||||
|
@ -1171,14 +1265,14 @@
|
|||
"@babel/plugin-transform-react-jsx-self" "^7.7.4"
|
||||
"@babel/plugin-transform-react-jsx-source" "^7.7.4"
|
||||
|
||||
"@babel/preset-typescript@7.13.0":
|
||||
version "7.13.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.13.0.tgz#ab107e5f050609d806fbb039bec553b33462c60a"
|
||||
integrity sha512-LXJwxrHy0N3f6gIJlYbLta1D9BDtHpQeqwzM0LIfjDlr6UE/D5Mc7W4iDiQzaE+ks0sTjT26ArcHWnJVt0QiHw==
|
||||
"@babel/preset-typescript@7.16.0":
|
||||
version "7.16.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.16.0.tgz#b0b4f105b855fb3d631ec036cdc9d1ffd1fa5eac"
|
||||
integrity sha512-txegdrZYgO9DlPbv+9QOVpMnKbOtezsLHWsnsRF4AjbSIsVaujrq1qg8HK0mxQpWv0jnejt0yEoW1uWpvbrDTg==
|
||||
dependencies:
|
||||
"@babel/helper-plugin-utils" "^7.13.0"
|
||||
"@babel/helper-validator-option" "^7.12.17"
|
||||
"@babel/plugin-transform-typescript" "^7.13.0"
|
||||
"@babel/helper-plugin-utils" "^7.14.5"
|
||||
"@babel/helper-validator-option" "^7.14.5"
|
||||
"@babel/plugin-transform-typescript" "^7.16.0"
|
||||
|
||||
"@babel/preset-typescript@7.3.3":
|
||||
version "7.3.3"
|
||||
|
@ -1249,6 +1343,15 @@
|
|||
"@babel/parser" "^7.12.13"
|
||||
"@babel/types" "^7.12.13"
|
||||
|
||||
"@babel/template@^7.16.0":
|
||||
version "7.16.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.0.tgz#d16a35ebf4cd74e202083356fab21dd89363ddd6"
|
||||
integrity sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A==
|
||||
dependencies:
|
||||
"@babel/code-frame" "^7.16.0"
|
||||
"@babel/parser" "^7.16.0"
|
||||
"@babel/types" "^7.16.0"
|
||||
|
||||
"@babel/template@^7.7.4":
|
||||
version "7.7.4"
|
||||
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.7.4.tgz#428a7d9eecffe27deac0a98e23bf8e3675d2a77b"
|
||||
|
@ -1287,6 +1390,21 @@
|
|||
debug "^4.1.0"
|
||||
globals "^11.1.0"
|
||||
|
||||
"@babel/traverse@^7.16.0":
|
||||
version "7.16.3"
|
||||
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.3.tgz#f63e8a938cc1b780f66d9ed3c54f532ca2d14787"
|
||||
integrity sha512-eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag==
|
||||
dependencies:
|
||||
"@babel/code-frame" "^7.16.0"
|
||||
"@babel/generator" "^7.16.0"
|
||||
"@babel/helper-function-name" "^7.16.0"
|
||||
"@babel/helper-hoist-variables" "^7.16.0"
|
||||
"@babel/helper-split-export-declaration" "^7.16.0"
|
||||
"@babel/parser" "^7.16.3"
|
||||
"@babel/types" "^7.16.0"
|
||||
debug "^4.1.0"
|
||||
globals "^11.1.0"
|
||||
|
||||
"@babel/traverse@^7.7.4":
|
||||
version "7.7.4"
|
||||
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.7.4.tgz#9c1e7c60fb679fe4fcfaa42500833333c2058558"
|
||||
|
@ -1328,6 +1446,14 @@
|
|||
"@babel/helper-validator-identifier" "^7.14.0"
|
||||
to-fast-properties "^2.0.0"
|
||||
|
||||
"@babel/types@^7.16.0":
|
||||
version "7.16.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.0.tgz#db3b313804f96aadd0b776c4823e127ad67289ba"
|
||||
integrity sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==
|
||||
dependencies:
|
||||
"@babel/helper-validator-identifier" "^7.15.7"
|
||||
to-fast-properties "^2.0.0"
|
||||
|
||||
"@babel/types@^7.7.4":
|
||||
version "7.7.4"
|
||||
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.7.4.tgz#516570d539e44ddf308c07569c258ff94fde9193"
|
||||
|
|
Loading…
Reference in New Issue