Skip to content
This repository was archived by the owner on Sep 11, 2024. It is now read-only.

Commit e66027c

Browse files
authored
Deduplicate string compare utility (#9579)
1 parent 4361461 commit e66027c

File tree

9 files changed

+9
-18
lines changed

9 files changed

+9
-18
lines changed

src/components/views/rooms/WhoIsTypingTile.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@ import React from 'react';
1919
import { Room, RoomEvent } from "matrix-js-sdk/src/models/room";
2020
import { RoomMember, RoomMemberEvent } from "matrix-js-sdk/src/models/room-member";
2121
import { MatrixEvent } from "matrix-js-sdk/src/models/event";
22+
import { compare } from "matrix-js-sdk/src/utils";
2223

2324
import * as WhoIsTyping from '../../../WhoIsTyping';
2425
import Timer from '../../../utils/Timer';
2526
import { MatrixClientPeg } from '../../../MatrixClientPeg';
2627
import MemberAvatar from '../avatars/MemberAvatar';
27-
import { compare } from "../../../utils/strings";
2828

2929
interface IProps {
3030
// the room this statusbar is representing.

src/components/views/settings/tabs/room/RolesRoomSettingsTab.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,12 @@ import { RoomMember } from "matrix-js-sdk/src/models/room-member";
2020
import { RoomState, RoomStateEvent } from "matrix-js-sdk/src/models/room-state";
2121
import { logger } from "matrix-js-sdk/src/logger";
2222
import { throttle } from "lodash";
23+
import { compare } from "matrix-js-sdk/src/utils";
2324

2425
import { _t, _td } from "../../../../../languageHandler";
2526
import { MatrixClientPeg } from "../../../../../MatrixClientPeg";
2627
import AccessibleButton from "../../../elements/AccessibleButton";
2728
import Modal from "../../../../../Modal";
28-
import { compare } from "../../../../../utils/strings";
2929
import ErrorDialog from '../../../dialogs/ErrorDialog';
3030
import PowerSelector from "../../../elements/PowerSelector";
3131
import SettingsFieldset from '../../SettingsFieldset';

src/integrations/IntegrationManagers.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ limitations under the License.
1717
import url from 'url';
1818
import { logger } from "matrix-js-sdk/src/logger";
1919
import { ClientEvent, MatrixClient } from "matrix-js-sdk/src/client";
20+
import { compare } from "matrix-js-sdk/src/utils";
2021

2122
import type { MatrixEvent } from "matrix-js-sdk/src/models/event";
2223
import SdkConfig from '../SdkConfig';
@@ -26,7 +27,6 @@ import IntegrationsImpossibleDialog from "../components/views/dialogs/Integratio
2627
import IntegrationsDisabledDialog from "../components/views/dialogs/IntegrationsDisabledDialog";
2728
import WidgetUtils from "../utils/WidgetUtils";
2829
import { MatrixClientPeg } from "../MatrixClientPeg";
29-
import { compare } from "../utils/strings";
3030

3131
const KIND_PREFERENCE = [
3232
// Ordered: first is most preferred, last is least preferred.

src/stores/room-list/algorithms/tag-sorting/AlphabeticAlgorithm.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ limitations under the License.
1515
*/
1616

1717
import { Room } from "matrix-js-sdk/src/models/room";
18+
import { compare } from "matrix-js-sdk/src/utils";
1819

1920
import { TagID } from "../../models";
2021
import { IAlgorithm } from "./IAlgorithm";
21-
import { compare } from "../../../../utils/strings";
2222

2323
/**
2424
* Sorts rooms according to the browser's determination of alphabetic.

src/stores/widgets/WidgetLayoutStore.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import { Room } from "matrix-js-sdk/src/models/room";
1818
import { MatrixEvent } from "matrix-js-sdk/src/models/event";
1919
import { RoomStateEvent } from "matrix-js-sdk/src/models/room-state";
2020
import { Optional } from "matrix-events-sdk";
21+
import { compare } from "matrix-js-sdk/src/utils";
2122

2223
import SettingsStore from "../../settings/SettingsStore";
2324
import WidgetStore, { IApp } from "../WidgetStore";
@@ -28,7 +29,6 @@ import { ReadyWatchingStore } from "../ReadyWatchingStore";
2829
import { SettingLevel } from "../../settings/SettingLevel";
2930
import { arrayFastClone } from "../../utils/arrays";
3031
import { UPDATE_EVENT } from "../AsyncStore";
31-
import { compare } from "../../utils/strings";
3232

3333
export const WIDGET_LAYOUT_EVENT_TYPE = "io.element.widgets.layout";
3434

src/theme.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,11 @@ See the License for the specific language governing permissions and
1515
limitations under the License.
1616
*/
1717

18+
import { compare } from "matrix-js-sdk/src/utils";
19+
1820
import { _t } from "./languageHandler";
1921
import SettingsStore from "./settings/SettingsStore";
2022
import ThemeWatcher from "./settings/watchers/ThemeWatcher";
21-
import { compare } from "./utils/strings";
2223

2324
export const DEFAULT_THEME = "light";
2425
const HIGH_CONTRAST_THEMES = {

src/utils/SortMembers.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@ limitations under the License.
1616

1717
import { groupBy, mapValues, maxBy, minBy, sumBy, takeRight } from "lodash";
1818
import { MatrixClient, Room, RoomMember } from "matrix-js-sdk/src/matrix";
19+
import { compare } from "matrix-js-sdk/src/utils";
1920

2021
import { Member } from "./direct-messages";
2122
import DMRoomMap from "./DMRoomMap";
22-
import { compare } from "./strings";
2323

2424
export const compareMembers = (
2525
activityScores: Record<string, IActivityScore>,

src/utils/strings.ts

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -75,16 +75,6 @@ export function copyNode(ref: Element): boolean {
7575
return document.execCommand('copy');
7676
}
7777

78-
const collator = new Intl.Collator();
79-
/**
80-
* Performant language-sensitive string comparison
81-
* @param a the first string to compare
82-
* @param b the second string to compare
83-
*/
84-
export function compare(a: string, b: string): number {
85-
return collator.compare(a, b);
86-
}
87-
8878
/**
8979
* Returns text which has been selected by the user
9080
* @returns the selected text

test/components/views/rooms/MemberList-test.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ import ReactDOM from 'react-dom';
2020
import { Room } from 'matrix-js-sdk/src/models/room';
2121
import { RoomMember } from 'matrix-js-sdk/src/models/room-member';
2222
import { User } from "matrix-js-sdk/src/models/user";
23+
import { compare } from "matrix-js-sdk/src/utils";
2324

2425
import { MatrixClientPeg } from '../../../../src/MatrixClientPeg';
2526
import * as TestUtils from '../../../test-utils';
26-
import { compare } from "../../../../src/utils/strings";
2727
import MemberList from "../../../../src/components/views/rooms/MemberList";
2828
import MemberTile from '../../../../src/components/views/rooms/MemberTile';
2929
import MatrixClientContext from "../../../../src/contexts/MatrixClientContext";

0 commit comments

Comments
 (0)