diff --git a/src/EventEmitter.js b/src/EventEmitter.js index fd155a7e..24d03ec3 100644 --- a/src/EventEmitter.js +++ b/src/EventEmitter.js @@ -1,4 +1,4 @@ -export default class EventEmitter { +export class EventEmitter { constructor() { this._handlersByName = {}; } diff --git a/src/Platform.js b/src/Platform.js index b68d821d..bfdfbd96 100644 --- a/src/Platform.js +++ b/src/Platform.js @@ -1,5 +1,5 @@ //#ifdef PLATFORM_GNOME //##export {default} from "./ui/gnome/GnomePlatform.js"; //#else -export {default} from "./ui/web/WebPlatform.js"; +export {WebPlatform as Platform} from "./ui/web/WebPlatform.js"; //#endif diff --git a/src/domain/BrawlViewModel.js b/src/domain/BrawlViewModel.js index e4ccd0ac..45943da6 100644 --- a/src/domain/BrawlViewModel.js +++ b/src/domain/BrawlViewModel.js @@ -1,15 +1,15 @@ -import Session from "../matrix/Session.js"; +import {Session} from "../matrix/Session.js"; import {Sync} from "../matrix/Sync.js"; -import SessionViewModel from "./session/SessionViewModel.js"; -import LoginViewModel from "./LoginViewModel.js"; -import SessionPickerViewModel from "./SessionPickerViewModel.js"; -import EventEmitter from "../EventEmitter.js"; +import {SessionViewModel} from "./session/SessionViewModel.js"; +import {LoginViewModel} from "./LoginViewModel.js"; +import {SessionPickerViewModel} from "./SessionPickerViewModel.js"; +import {EventEmitter} from "../EventEmitter.js"; export function createNewSessionId() { return (Math.floor(Math.random() * Number.MAX_SAFE_INTEGER)).toString(); } -export default class BrawlViewModel extends EventEmitter { +export class BrawlViewModel extends EventEmitter { constructor({storageFactory, sessionInfoStorage, createHsApi, clock}) { super(); this._storageFactory = storageFactory; diff --git a/src/domain/LoginViewModel.js b/src/domain/LoginViewModel.js index 5d0a9ef2..f26c5be0 100644 --- a/src/domain/LoginViewModel.js +++ b/src/domain/LoginViewModel.js @@ -1,6 +1,6 @@ -import EventEmitter from "../EventEmitter.js"; +import {EventEmitter} from "../EventEmitter.js"; -export default class LoginViewModel extends EventEmitter { +export class LoginViewModel extends EventEmitter { constructor({loginCallback, defaultHomeServer, createHsApi}) { super(); this._loginCallback = loginCallback; diff --git a/src/domain/SessionPickerViewModel.js b/src/domain/SessionPickerViewModel.js index a191b317..bc719a79 100644 --- a/src/domain/SessionPickerViewModel.js +++ b/src/domain/SessionPickerViewModel.js @@ -1,5 +1,5 @@ import {SortedArray} from "../observable/index.js"; -import EventEmitter from "../EventEmitter.js"; +import {EventEmitter} from "../EventEmitter.js"; import {createNewSessionId} from "./BrawlViewModel.js" class SessionItemViewModel extends EventEmitter { @@ -98,7 +98,7 @@ class SessionItemViewModel extends EventEmitter { } } -export default class SessionPickerViewModel { +export class SessionPickerViewModel { constructor({storageFactory, sessionInfoStorage, sessionCallback}) { this._storageFactory = storageFactory; this._sessionInfoStorage = sessionInfoStorage; diff --git a/src/domain/session/SessionLoadViewModel.js b/src/domain/session/SessionLoadViewModel.js index 3f3edba6..9193e840 100644 --- a/src/domain/session/SessionLoadViewModel.js +++ b/src/domain/session/SessionLoadViewModel.js @@ -1,9 +1,9 @@ -import EventEmitter from "../../EventEmitter.js"; -import RoomTileViewModel from "./roomlist/RoomTileViewModel.js"; -import RoomViewModel from "./room/RoomViewModel.js"; -import SyncStatusViewModel from "./SyncStatusViewModel.js"; +import {EventEmitter} from "../../EventEmitter.js"; +import {RoomTileViewModel} from "./roomlist/RoomTileViewModel.js"; +import {RoomViewModel} from "./room/RoomViewModel.js"; +import {SyncStatusViewModel} from "./SyncStatusViewModel.js"; -export default class SessionLoadViewModel extends ViewModel { +export class SessionLoadViewModel extends ViewModel { constructor(options) { super(options); this._sessionContainer = options.sessionContainer; diff --git a/src/domain/session/SessionViewModel.js b/src/domain/session/SessionViewModel.js index 74e1f00c..02a48834 100644 --- a/src/domain/session/SessionViewModel.js +++ b/src/domain/session/SessionViewModel.js @@ -1,9 +1,9 @@ -import EventEmitter from "../../EventEmitter.js"; -import RoomTileViewModel from "./roomlist/RoomTileViewModel.js"; -import RoomViewModel from "./room/RoomViewModel.js"; -import SyncStatusViewModel from "./SyncStatusViewModel.js"; +import {EventEmitter} from "../../EventEmitter.js"; +import {RoomTileViewModel} from "./roomlist/RoomTileViewModel.js"; +import {RoomViewModel} from "./room/RoomViewModel.js"; +import {SyncStatusViewModel} from "./SyncStatusViewModel.js"; -export default class SessionViewModel extends EventEmitter { +export class SessionViewModel extends EventEmitter { constructor({session, sync}) { super(); this._session = session; diff --git a/src/domain/session/SyncStatusViewModel.js b/src/domain/session/SyncStatusViewModel.js index ef227873..17fb243c 100644 --- a/src/domain/session/SyncStatusViewModel.js +++ b/src/domain/session/SyncStatusViewModel.js @@ -1,6 +1,6 @@ -import EventEmitter from "../../EventEmitter.js"; +import {EventEmitter} from "../../EventEmitter.js"; -export default class SyncStatusViewModel extends EventEmitter { +export class SyncStatusViewModel extends EventEmitter { constructor(sync) { super(); this._sync = sync; diff --git a/src/domain/session/room/RoomViewModel.js b/src/domain/session/room/RoomViewModel.js index 19a58944..8f117cbe 100644 --- a/src/domain/session/room/RoomViewModel.js +++ b/src/domain/session/room/RoomViewModel.js @@ -1,8 +1,8 @@ -import EventEmitter from "../../../EventEmitter.js"; -import TimelineViewModel from "./timeline/TimelineViewModel.js"; +import {EventEmitter} from "../../../EventEmitter.js"; +import {TimelineViewModel} from "./timeline/TimelineViewModel.js"; import {avatarInitials} from "../avatar.js"; -export default class RoomViewModel extends EventEmitter { +export class RoomViewModel extends EventEmitter { constructor({room, ownUserId, closeCallback}) { super(); this._room = room; diff --git a/src/domain/session/room/timeline/TilesCollection.js b/src/domain/session/room/timeline/TilesCollection.js index cb2621d6..ce96f00e 100644 --- a/src/domain/session/room/timeline/TilesCollection.js +++ b/src/domain/session/room/timeline/TilesCollection.js @@ -1,12 +1,12 @@ -import BaseObservableList from "../../../../observable/list/BaseObservableList.js"; -import sortedIndex from "../../../../utils/sortedIndex.js"; +import {BaseObservableList} from "../../../../observable/list/BaseObservableList.js"; +import {sortedIndex} from "../../../../utils/sortedIndex.js"; // maps 1..n entries to 0..1 tile. Entries are what is stored in the timeline, either an event or fragmentboundary // for now, tileCreator should be stable in whether it returns a tile or not. // e.g. the decision to create a tile or not should be based on properties // not updated later on (e.g. event type) // also see big comment in onUpdate -export default class TilesCollection extends BaseObservableList { +export class TilesCollection extends BaseObservableList { constructor(entries, tileCreator) { super(); this._entries = entries; @@ -187,8 +187,8 @@ export default class TilesCollection extends BaseObservableList { } } -import ObservableArray from "../../../../observable/list/ObservableArray.js"; -import UpdateAction from "./UpdateAction.js"; +import {ObservableArray} from "../../../../observable/list/ObservableArray.js"; +import {UpdateAction} from "./UpdateAction.js"; export function tests() { class TestTile { diff --git a/src/domain/session/room/timeline/TimelineViewModel.js b/src/domain/session/room/timeline/TimelineViewModel.js index 2e952a76..1c19c15f 100644 --- a/src/domain/session/room/timeline/TimelineViewModel.js +++ b/src/domain/session/room/timeline/TimelineViewModel.js @@ -14,10 +14,10 @@ the timeline (counted in tiles), which results to a range in sortKeys we want on to the room timeline, which unload entries from memory. when loading, it just reads events from a sortkey backwards or forwards... */ -import TilesCollection from "./TilesCollection.js"; -import tilesCreator from "./tilesCreator.js"; +import {TilesCollection} from "./TilesCollection.js"; +import {tilesCreator} from "./tilesCreator.js"; -export default class TimelineViewModel { +export class TimelineViewModel { constructor(room, timeline, ownUserId) { this._timeline = timeline; // once we support sending messages we could do diff --git a/src/domain/session/room/timeline/UpdateAction.js b/src/domain/session/room/timeline/UpdateAction.js index 1421cbd6..ed09560f 100644 --- a/src/domain/session/room/timeline/UpdateAction.js +++ b/src/domain/session/room/timeline/UpdateAction.js @@ -1,4 +1,4 @@ -export default class UpdateAction { +export class UpdateAction { constructor(remove, update, updateParams) { this._remove = remove; this._update = update; diff --git a/src/domain/session/room/timeline/tiles/GapTile.js b/src/domain/session/room/timeline/tiles/GapTile.js index 8e4fa0f4..b0aaca95 100644 --- a/src/domain/session/room/timeline/tiles/GapTile.js +++ b/src/domain/session/room/timeline/tiles/GapTile.js @@ -1,7 +1,7 @@ -import SimpleTile from "./SimpleTile.js"; -import UpdateAction from "../UpdateAction.js"; +import {SimpleTile} from "./SimpleTile.js"; +import {UpdateAction} from "../UpdateAction.js"; -export default class GapTile extends SimpleTile { +export class GapTile extends SimpleTile { constructor(options, timeline) { super(options); this._timeline = timeline; diff --git a/src/domain/session/room/timeline/tiles/ImageTile.js b/src/domain/session/room/timeline/tiles/ImageTile.js index ebe8d022..8aee454b 100644 --- a/src/domain/session/room/timeline/tiles/ImageTile.js +++ b/src/domain/session/room/timeline/tiles/ImageTile.js @@ -1,6 +1,6 @@ -import MessageTile from "./MessageTile.js"; +import {MessageTile} from "./MessageTile.js"; -export default class ImageTile extends MessageTile { +export class ImageTile extends MessageTile { constructor(options) { super(options); diff --git a/src/domain/session/room/timeline/tiles/LocationTile.js b/src/domain/session/room/timeline/tiles/LocationTile.js index 69dbc629..4a176233 100644 --- a/src/domain/session/room/timeline/tiles/LocationTile.js +++ b/src/domain/session/room/timeline/tiles/LocationTile.js @@ -1,4 +1,4 @@ -import MessageTile from "./MessageTile.js"; +import {MessageTile} from "./MessageTile.js"; /* map urls: @@ -7,7 +7,7 @@ android: https://developers.google.com/maps/documentation/urls/guide wp: maps:49.275267 -122.988617 https://www.habaneroconsulting.com/stories/insights/2011/opening-native-map-apps-from-the-mobile-browser */ -export default class LocationTile extends MessageTile { +export class LocationTile extends MessageTile { get mapsLink() { const geoUri = this._getContent().geo_uri; const [lat, long] = geoUri.split(":")[1].split(","); diff --git a/src/domain/session/room/timeline/tiles/MessageTile.js b/src/domain/session/room/timeline/tiles/MessageTile.js index bb862047..0ca74128 100644 --- a/src/domain/session/room/timeline/tiles/MessageTile.js +++ b/src/domain/session/room/timeline/tiles/MessageTile.js @@ -1,6 +1,6 @@ -import SimpleTile from "./SimpleTile.js"; +import {SimpleTile} from "./SimpleTile.js"; -export default class MessageTile extends SimpleTile { +export class MessageTile extends SimpleTile { constructor(options) { super(options); diff --git a/src/domain/session/room/timeline/tiles/RoomMemberTile.js b/src/domain/session/room/timeline/tiles/RoomMemberTile.js index f841a2ed..536cbeb5 100644 --- a/src/domain/session/room/timeline/tiles/RoomMemberTile.js +++ b/src/domain/session/room/timeline/tiles/RoomMemberTile.js @@ -1,6 +1,6 @@ -import SimpleTile from "./SimpleTile.js"; +import {SimpleTile} from "./SimpleTile.js"; -export default class RoomNameTile extends SimpleTile { +export class RoomMemberTile extends SimpleTile { get shape() { return "announcement"; diff --git a/src/domain/session/room/timeline/tiles/RoomNameTile.js b/src/domain/session/room/timeline/tiles/RoomNameTile.js index 36ad7934..d37255ae 100644 --- a/src/domain/session/room/timeline/tiles/RoomNameTile.js +++ b/src/domain/session/room/timeline/tiles/RoomNameTile.js @@ -1,6 +1,6 @@ -import SimpleTile from "./SimpleTile.js"; +import {SimpleTile} from "./SimpleTile.js"; -export default class RoomNameTile extends SimpleTile { +export class RoomNameTile extends SimpleTile { get shape() { return "announcement"; diff --git a/src/domain/session/room/timeline/tiles/SimpleTile.js b/src/domain/session/room/timeline/tiles/SimpleTile.js index 7b1ed91f..da5ba575 100644 --- a/src/domain/session/room/timeline/tiles/SimpleTile.js +++ b/src/domain/session/room/timeline/tiles/SimpleTile.js @@ -1,6 +1,6 @@ -import UpdateAction from "../UpdateAction.js"; +import {UpdateAction} from "../UpdateAction.js"; -export default class SimpleTile { +export class SimpleTile { constructor({entry}) { this._entry = entry; this._emitUpdate = null; diff --git a/src/domain/session/room/timeline/tiles/TextTile.js b/src/domain/session/room/timeline/tiles/TextTile.js index 47680ef0..a6144b1b 100644 --- a/src/domain/session/room/timeline/tiles/TextTile.js +++ b/src/domain/session/room/timeline/tiles/TextTile.js @@ -1,6 +1,6 @@ -import MessageTile from "./MessageTile.js"; +import {MessageTile} from "./MessageTile.js"; -export default class TextTile extends MessageTile { +export class TextTile extends MessageTile { get text() { const content = this._getContent(); const body = content && content.body; diff --git a/src/domain/session/room/timeline/tilesCreator.js b/src/domain/session/room/timeline/tilesCreator.js index 87d70238..9f53a378 100644 --- a/src/domain/session/room/timeline/tilesCreator.js +++ b/src/domain/session/room/timeline/tilesCreator.js @@ -1,10 +1,10 @@ -import GapTile from "./tiles/GapTile.js"; -import TextTile from "./tiles/TextTile.js"; -import LocationTile from "./tiles/LocationTile.js"; -import RoomNameTile from "./tiles/RoomNameTile.js"; -import RoomMemberTile from "./tiles/RoomMemberTile.js"; +import {GapTile} from "./tiles/GapTile.js"; +import {TextTile} from "./tiles/TextTile.js"; +import {LocationTile} from "./tiles/LocationTile.js"; +import {RoomNameTile} from "./tiles/RoomNameTile.js"; +import {RoomMemberTile} from "./tiles/RoomMemberTile.js"; -export default function ({room, ownUserId}) { +export function tilesCreator({room, ownUserId}) { return function tilesCreator(entry, emitUpdate) { const options = {entry, emitUpdate, ownUserId}; if (entry.isGap) { diff --git a/src/domain/session/roomlist/RoomTileViewModel.js b/src/domain/session/roomlist/RoomTileViewModel.js index 110b88b2..cd12242f 100644 --- a/src/domain/session/roomlist/RoomTileViewModel.js +++ b/src/domain/session/roomlist/RoomTileViewModel.js @@ -1,6 +1,6 @@ import {avatarInitials} from "../avatar.js"; -export default class RoomTileViewModel { +export class RoomTileViewModel { // we use callbacks to parent VM instead of emit because // it would be annoying to keep track of subscriptions in // parent for all RoomTileViewModels diff --git a/src/main.js b/src/main.js index ef1b8c9c..f85e2844 100644 --- a/src/main.js +++ b/src/main.js @@ -1,13 +1,13 @@ -import HomeServerApi from "./matrix/net/HomeServerApi.js"; +import {HomeServerApi} from "./matrix/net/HomeServerApi.js"; // import {RecordRequester, ReplayRequester} from "./matrix/net/request/replay.js"; -import fetchRequest from "./matrix/net/request/fetch.js"; +import {fetchRequest} from "./matrix/net/request/fetch.js"; import {Reconnector} from "./matrix/net/Reconnector.js"; -import StorageFactory from "./matrix/storage/idb/create.js"; -import SessionInfoStorage from "./matrix/sessioninfo/localstorage/SessionInfoStorage.js"; -import BrawlViewModel from "./domain/BrawlViewModel.js"; -import BrawlView from "./ui/web/BrawlView.js"; -import DOMClock from "./ui/web/dom/Clock.js"; -import OnlineStatus from "./ui/web/dom/OnlineStatus.js"; +import {StorageFactory} from "./matrix/storage/idb/create.js"; +import {SessionInfoStorage} from "./matrix/sessioninfo/localstorage/SessionInfoStorage.js"; +import {BrawlViewModel} from "./domain/BrawlViewModel.js"; +import {BrawlView} from "./ui/web/BrawlView.js"; +import {Clock as DOMClock} from "./ui/web/dom/Clock.js"; +import {OnlineStatus} from "./ui/web/dom/OnlineStatus.js"; export default async function main(container) { try { diff --git a/src/matrix/SendScheduler.js b/src/matrix/SendScheduler.js index 1280ca6a..1b572cc2 100644 --- a/src/matrix/SendScheduler.js +++ b/src/matrix/SendScheduler.js @@ -1,4 +1,4 @@ -import Platform from "../Platform.js"; +import {Platform} from "../Platform.js"; import {HomeServerError, ConnectionError} from "./error.js"; export class RateLimitingBackoff { diff --git a/src/matrix/Session.js b/src/matrix/Session.js index 7c4771e4..b0a21133 100644 --- a/src/matrix/Session.js +++ b/src/matrix/Session.js @@ -1,9 +1,9 @@ -import Room from "./room/room.js"; +import {Room} from "./room/room.js"; import { ObservableMap } from "../observable/index.js"; import { SendScheduler, RateLimitingBackoff } from "./SendScheduler.js"; -import User from "./User.js"; +import {User} from "./User.js"; -export default class Session { +export class Session { // sessionInfo contains deviceId, userId and homeServer constructor({storage, hsApi, sessionInfo}) { this._storage = storage; diff --git a/src/matrix/SessionContainer.js b/src/matrix/SessionContainer.js index aad58959..b907cc7e 100644 --- a/src/matrix/SessionContainer.js +++ b/src/matrix/SessionContainer.js @@ -1,11 +1,11 @@ -import createEnum from "../utils/enum.js"; -import ObservableValue from "../observable/ObservableValue.js"; -import HomeServerApi from "./net/HomeServerApi.js"; +import {createEnum} from "../utils/enum.js"; +import {ObservableValue} from "../observable/ObservableValue.js"; +import {HomeServerApi} from "./net/HomeServerApi.js"; import {Reconnector, ConnectionStatus} from "./net/Reconnector.js"; -import ExponentialRetryDelay from "./net/ExponentialRetryDelay.js"; +import {ExponentialRetryDelay} from "./net/ExponentialRetryDelay.js"; import {HomeServerError, ConnectionError, AbortError} from "./error.js"; import {Sync, SyncStatus} from "./Sync.js"; -import Session from "./Session.js"; +import {Session} from "./Session.js"; export const LoadStatus = createEnum( "NotLoading", @@ -138,7 +138,7 @@ export class SessionContainer { } }); await this._waitForFirstSync(); - + this._status.set(LoadStatus.Ready); // if the sync failed, and then the reconnector diff --git a/src/matrix/Sync.js b/src/matrix/Sync.js index 8b79c6da..eeea0b66 100644 --- a/src/matrix/Sync.js +++ b/src/matrix/Sync.js @@ -1,6 +1,6 @@ import {AbortError} from "./error.js"; -import ObservableValue from "../observable/ObservableValue.js"; -import createEnum from "../utils/enum.js"; +import {ObservableValue} from "../observable/ObservableValue.js"; +import {createEnum} from "../utils/enum.js"; const INCREMENTAL_TIMEOUT = 30000; const SYNC_EVENT_LIMIT = 10; diff --git a/src/matrix/User.js b/src/matrix/User.js index 5c0aa37f..6db27e78 100644 --- a/src/matrix/User.js +++ b/src/matrix/User.js @@ -1,4 +1,4 @@ -export default class User { +export class User { constructor(userId) { this._userId = userId; } diff --git a/src/matrix/net/ExponentialRetryDelay.js b/src/matrix/net/ExponentialRetryDelay.js index 42ef364e..a1317619 100644 --- a/src/matrix/net/ExponentialRetryDelay.js +++ b/src/matrix/net/ExponentialRetryDelay.js @@ -1,6 +1,6 @@ import {AbortError} from "../../utils/error.js"; -export default class ExponentialRetryDelay { +export class ExponentialRetryDelay { constructor(createTimeout, start = 2000) { this._start = start; this._current = start; @@ -43,7 +43,7 @@ export default class ExponentialRetryDelay { } -import MockClock from "../../mocks/Clock.js"; +import {Clock as MockClock} from "../../mocks/Clock.js"; export function tests() { return { diff --git a/src/matrix/net/HomeServerApi.js b/src/matrix/net/HomeServerApi.js index 53c4cca4..918987c5 100644 --- a/src/matrix/net/HomeServerApi.js +++ b/src/matrix/net/HomeServerApi.js @@ -28,7 +28,7 @@ class RequestWrapper { } } -export default class HomeServerApi { +export class HomeServerApi { constructor({homeServer, accessToken, request, createTimeout, reconnector}) { // store these both in a closure somehow so it's harder to get at in case of XSS? // one could change the homeserver as well so the token gets sent there, so both must be protected from read/write diff --git a/src/matrix/net/Reconnector.js b/src/matrix/net/Reconnector.js index 48af075e..aa1f80da 100644 --- a/src/matrix/net/Reconnector.js +++ b/src/matrix/net/Reconnector.js @@ -1,7 +1,7 @@ -import createEnum from "../../utils/enum.js"; +import {createEnum} from "../../utils/enum.js"; import {AbortError} from "../../utils/error.js"; import {ConnectionError} from "../error.js" -import ObservableValue from "../../observable/ObservableValue.js"; +import {ObservableValue} from "../../observable/ObservableValue.js"; export const ConnectionStatus = createEnum( "Offline", @@ -111,8 +111,8 @@ export class Reconnector { } -import MockClock from "../../mocks/Clock.js"; -import ExponentialRetryDelay from "./ExponentialRetryDelay.js"; +import {Clock as MockClock} from "../../mocks/Clock.js"; +import {ExponentialRetryDelay} from "./ExponentialRetryDelay.js"; export function tests() { function createHsApiMock(remainingFailures) { diff --git a/src/matrix/net/request/fetch.js b/src/matrix/net/request/fetch.js index 1947d165..bc9ea8b7 100644 --- a/src/matrix/net/request/fetch.js +++ b/src/matrix/net/request/fetch.js @@ -31,7 +31,7 @@ class RequestResult { } } -export default function fetchRequest(url, options) { +export function fetchRequest(url, options) { const controller = typeof AbortController === "function" ? new AbortController() : null; if (controller) { options = Object.assign(options, { diff --git a/src/matrix/room/room.js b/src/matrix/room/room.js index 721eefe9..71cb88bd 100644 --- a/src/matrix/room/room.js +++ b/src/matrix/room/room.js @@ -1,12 +1,12 @@ -import EventEmitter from "../../EventEmitter.js"; -import RoomSummary from "./summary.js"; -import SyncWriter from "./timeline/persistence/SyncWriter.js"; -import GapWriter from "./timeline/persistence/GapWriter.js"; -import Timeline from "./timeline/Timeline.js"; -import FragmentIdComparer from "./timeline/FragmentIdComparer.js"; -import SendQueue from "./sending/SendQueue.js"; +import {EventEmitter} from "../../EventEmitter.js"; +import {RoomSummary} from "./summary.js"; +import {SyncWriter} from "./timeline/persistence/SyncWriter.js"; +import {GapWriter} from "./timeline/persistence/GapWriter.js"; +import {Timeline} from "./timeline/Timeline.js"; +import {FragmentIdComparer} from "./timeline/FragmentIdComparer.js"; +import {SendQueue} from "./sending/SendQueue.js"; -export default class Room extends EventEmitter { +export class Room extends EventEmitter { constructor({roomId, storage, hsApi, emitCollectionChange, sendScheduler, pendingEvents, user}) { super(); this._roomId = roomId; diff --git a/src/matrix/room/sending/PendingEvent.js b/src/matrix/room/sending/PendingEvent.js index 105da49b..a87efc98 100644 --- a/src/matrix/room/sending/PendingEvent.js +++ b/src/matrix/room/sending/PendingEvent.js @@ -1,4 +1,4 @@ -export default class PendingEvent { +export class PendingEvent { constructor(data) { this._data = data; } diff --git a/src/matrix/room/sending/SendQueue.js b/src/matrix/room/sending/SendQueue.js index caea41fa..958901e4 100644 --- a/src/matrix/room/sending/SendQueue.js +++ b/src/matrix/room/sending/SendQueue.js @@ -1,6 +1,6 @@ -import SortedArray from "../../../observable/list/SortedArray.js"; +import {SortedArray} from "../../../observable/list/SortedArray.js"; import {ConnectionError} from "../../error.js"; -import PendingEvent from "./PendingEvent.js"; +import {PendingEvent} from "./PendingEvent.js"; function makeTxnId() { const n = Math.floor(Math.random() * Number.MAX_SAFE_INTEGER); @@ -8,7 +8,7 @@ function makeTxnId() { return "t" + "0".repeat(14 - str.length) + str; } -export default class SendQueue { +export class SendQueue { constructor({roomId, storage, sendScheduler, pendingEvents}) { pendingEvents = pendingEvents || []; this._roomId = roomId; diff --git a/src/matrix/room/summary.js b/src/matrix/room/summary.js index b29ee9bd..177c1bc4 100644 --- a/src/matrix/room/summary.js +++ b/src/matrix/room/summary.js @@ -99,7 +99,7 @@ class SummaryData { } } -export default class RoomSummary { +export class RoomSummary { constructor(roomId) { this._data = new SummaryData(null, roomId); } diff --git a/src/matrix/room/timeline/Direction.js b/src/matrix/room/timeline/Direction.js index 9c6fa8cd..05fcc0dc 100644 --- a/src/matrix/room/timeline/Direction.js +++ b/src/matrix/room/timeline/Direction.js @@ -1,6 +1,4 @@ - - -export default class Direction { +export class Direction { constructor(isForward) { this._isForward = isForward; } diff --git a/src/matrix/room/timeline/EventKey.js b/src/matrix/room/timeline/EventKey.js index e7837cbd..5f34a66d 100644 --- a/src/matrix/room/timeline/EventKey.js +++ b/src/matrix/room/timeline/EventKey.js @@ -1,7 +1,7 @@ -import Platform from "../../../Platform.js"; +import {Platform} from "../../../Platform.js"; // key for events in the timelineEvents store -export default class EventKey { +export class EventKey { constructor(fragmentId, eventIndex) { this.fragmentId = fragmentId; this.eventIndex = eventIndex; diff --git a/src/matrix/room/timeline/FragmentIdComparer.js b/src/matrix/room/timeline/FragmentIdComparer.js index d1a11564..24073dbe 100644 --- a/src/matrix/room/timeline/FragmentIdComparer.js +++ b/src/matrix/room/timeline/FragmentIdComparer.js @@ -114,7 +114,7 @@ class Island { /* index for fast lookup of how two fragments can be sorted */ -export default class FragmentIdComparer { +export class FragmentIdComparer { constructor(fragments) { this._fragmentsById = fragments.reduce((map, f) => {map.set(f.id, f); return map;}, new Map()); this.rebuild(fragments); diff --git a/src/matrix/room/timeline/Timeline.js b/src/matrix/room/timeline/Timeline.js index a13fa304..c6321876 100644 --- a/src/matrix/room/timeline/Timeline.js +++ b/src/matrix/room/timeline/Timeline.js @@ -1,9 +1,9 @@ -import { SortedArray, MappedList, ConcatList } from "../../../observable/index.js"; -import Direction from "./Direction.js"; -import TimelineReader from "./persistence/TimelineReader.js"; -import PendingEventEntry from "./entries/PendingEventEntry.js"; +import {SortedArray, MappedList, ConcatList} from "../../../observable/index.js"; +import {Direction} from "./Direction.js"; +import {TimelineReader} from "./persistence/TimelineReader.js"; +import {PendingEventEntry} from "./entries/PendingEventEntry.js"; -export default class Timeline { +export class Timeline { constructor({roomId, storage, closeCallback, fragmentIdComparer, pendingEvents, user}) { this._roomId = roomId; this._storage = storage; diff --git a/src/matrix/room/timeline/entries/BaseEntry.js b/src/matrix/room/timeline/entries/BaseEntry.js index 6c55788c..bd129cf2 100644 --- a/src/matrix/room/timeline/entries/BaseEntry.js +++ b/src/matrix/room/timeline/entries/BaseEntry.js @@ -1,8 +1,8 @@ //entries can be sorted, first by fragment, then by entry index. -import EventKey from "../EventKey.js"; +import {EventKey} from "../EventKey.js"; export const PENDING_FRAGMENT_ID = Number.MAX_SAFE_INTEGER; -export default class BaseEntry { +export class BaseEntry { constructor(fragmentIdComparer) { this._fragmentIdComparer = fragmentIdComparer; } diff --git a/src/matrix/room/timeline/entries/EventEntry.js b/src/matrix/room/timeline/entries/EventEntry.js index 9156d466..041c392c 100644 --- a/src/matrix/room/timeline/entries/EventEntry.js +++ b/src/matrix/room/timeline/entries/EventEntry.js @@ -1,6 +1,6 @@ -import BaseEntry from "./BaseEntry.js"; +import {BaseEntry} from "./BaseEntry.js"; -export default class EventEntry extends BaseEntry { +export class EventEntry extends BaseEntry { constructor(eventEntry, fragmentIdComparer) { super(fragmentIdComparer); this._eventEntry = eventEntry; diff --git a/src/matrix/room/timeline/entries/FragmentBoundaryEntry.js b/src/matrix/room/timeline/entries/FragmentBoundaryEntry.js index 4dc0ab61..c84ddede 100644 --- a/src/matrix/room/timeline/entries/FragmentBoundaryEntry.js +++ b/src/matrix/room/timeline/entries/FragmentBoundaryEntry.js @@ -1,9 +1,9 @@ -import BaseEntry from "./BaseEntry.js"; -import Direction from "../Direction.js"; +import {BaseEntry} from "./BaseEntry.js"; +import {Direction} from "../Direction.js"; import {isValidFragmentId} from "../common.js"; -import Platform from "../../../../Platform.js"; +import {Platform} from "../../../../Platform.js"; -export default class FragmentBoundaryEntry extends BaseEntry { +export class FragmentBoundaryEntry extends BaseEntry { constructor(fragment, isFragmentStart, fragmentIdComparer) { super(fragmentIdComparer); this._fragment = fragment; diff --git a/src/matrix/room/timeline/entries/PendingEventEntry.js b/src/matrix/room/timeline/entries/PendingEventEntry.js index 63e8ba84..0d2c9ae1 100644 --- a/src/matrix/room/timeline/entries/PendingEventEntry.js +++ b/src/matrix/room/timeline/entries/PendingEventEntry.js @@ -1,6 +1,6 @@ -import BaseEntry, {PENDING_FRAGMENT_ID} from "./BaseEntry.js"; +import {BaseEntry, PENDING_FRAGMENT_ID} from "./BaseEntry.js"; -export default class PendingEventEntry extends BaseEntry { +export class PendingEventEntry extends BaseEntry { constructor({pendingEvent, user}) { super(null); this._pendingEvent = pendingEvent; diff --git a/src/matrix/room/timeline/persistence/GapWriter.js b/src/matrix/room/timeline/persistence/GapWriter.js index 36080270..f6939fae 100644 --- a/src/matrix/room/timeline/persistence/GapWriter.js +++ b/src/matrix/room/timeline/persistence/GapWriter.js @@ -1,8 +1,8 @@ -import EventKey from "../EventKey.js"; -import EventEntry from "../entries/EventEntry.js"; +import {EventKey} from "../EventKey.js"; +import {EventEntry} from "../entries/EventEntry.js"; import {createEventEntry, directionalAppend} from "./common.js"; -export default class GapWriter { +export class GapWriter { constructor({roomId, storage, fragmentIdComparer}) { this._roomId = roomId; this._storage = storage; diff --git a/src/matrix/room/timeline/persistence/SyncWriter.js b/src/matrix/room/timeline/persistence/SyncWriter.js index 8143ced0..103bb31f 100644 --- a/src/matrix/room/timeline/persistence/SyncWriter.js +++ b/src/matrix/room/timeline/persistence/SyncWriter.js @@ -1,6 +1,6 @@ -import EventKey from "../EventKey.js"; -import EventEntry from "../entries/EventEntry.js"; -import FragmentBoundaryEntry from "../entries/FragmentBoundaryEntry.js"; +import {EventKey} from "../EventKey.js"; +import {EventEntry} from "../entries/EventEntry.js"; +import {FragmentBoundaryEntry} from "../entries/FragmentBoundaryEntry.js"; import {createEventEntry} from "./common.js"; // Synapse bug? where the m.room.create event appears twice in sync response @@ -17,7 +17,7 @@ function deduplicateEvents(events) { }); } -export default class SyncWriter { +export class SyncWriter { constructor({roomId, fragmentIdComparer}) { this._roomId = roomId; this._fragmentIdComparer = fragmentIdComparer; diff --git a/src/matrix/room/timeline/persistence/TimelineReader.js b/src/matrix/room/timeline/persistence/TimelineReader.js index 01c9f693..3262550a 100644 --- a/src/matrix/room/timeline/persistence/TimelineReader.js +++ b/src/matrix/room/timeline/persistence/TimelineReader.js @@ -1,9 +1,9 @@ import {directionalConcat, directionalAppend} from "./common.js"; -import Direction from "../Direction.js"; -import EventEntry from "../entries/EventEntry.js"; -import FragmentBoundaryEntry from "../entries/FragmentBoundaryEntry.js"; +import {Direction} from "../Direction.js"; +import {EventEntry} from "../entries/EventEntry.js"; +import {FragmentBoundaryEntry} from "../entries/FragmentBoundaryEntry.js"; -export default class TimelineReader { +export class TimelineReader { constructor({roomId, storage, fragmentIdComparer}) { this._roomId = roomId; this._storage = storage; diff --git a/src/matrix/sessioninfo/localstorage/SessionInfoStorage.js b/src/matrix/sessioninfo/localstorage/SessionInfoStorage.js index abd9ffb2..29c4be94 100644 --- a/src/matrix/sessioninfo/localstorage/SessionInfoStorage.js +++ b/src/matrix/sessioninfo/localstorage/SessionInfoStorage.js @@ -1,4 +1,4 @@ -export default class SessionInfoStorage { +export class SessionInfoStorage { constructor(name) { this._name = name; } diff --git a/src/matrix/storage/idb/create.js b/src/matrix/storage/idb/create.js index 6056409f..dc56dfcd 100644 --- a/src/matrix/storage/idb/create.js +++ b/src/matrix/storage/idb/create.js @@ -1,11 +1,11 @@ -import Storage from "./storage.js"; +import {Storage} from "./storage.js"; import { openDatabase, reqAsPromise } from "./utils.js"; import { exportSession, importSession } from "./export.js"; const sessionName = sessionId => `brawl_session_${sessionId}`; const openDatabaseWithSessionId = sessionId => openDatabase(sessionName(sessionId), createStores, 1); -export default class StorageFactory { +export class StorageFactory { async create(sessionId) { const db = await openDatabaseWithSessionId(sessionId); return new Storage(db); diff --git a/src/matrix/storage/idb/query-target.js b/src/matrix/storage/idb/query-target.js index 7e848218..1948b685 100644 --- a/src/matrix/storage/idb/query-target.js +++ b/src/matrix/storage/idb/query-target.js @@ -1,6 +1,6 @@ import {iterateCursor, reqAsPromise} from "./utils.js"; -export default class QueryTarget { +export class QueryTarget { constructor(target) { this._target = target; } diff --git a/src/matrix/storage/idb/storage.js b/src/matrix/storage/idb/storage.js index 5466ab76..ddf0f73a 100644 --- a/src/matrix/storage/idb/storage.js +++ b/src/matrix/storage/idb/storage.js @@ -1,7 +1,7 @@ -import Transaction from "./transaction.js"; +import {Transaction} from "./transaction.js"; import { STORE_NAMES, StorageError } from "../common.js"; -export default class Storage { +export class Storage { constructor(idbDatabase) { this._db = idbDatabase; const nameMap = STORE_NAMES.reduce((nameMap, name) => { diff --git a/src/matrix/storage/idb/store.js b/src/matrix/storage/idb/store.js index f2169fe3..a3eed7ef 100644 --- a/src/matrix/storage/idb/store.js +++ b/src/matrix/storage/idb/store.js @@ -1,4 +1,4 @@ -import QueryTarget from "./query-target.js"; +import {QueryTarget} from "./query-target.js"; import { reqAsPromise } from "./utils.js"; import { StorageError } from "../common.js"; @@ -80,7 +80,7 @@ class QueryTargetWrapper { } } -export default class Store extends QueryTarget { +export class Store extends QueryTarget { constructor(idbStore) { super(new QueryTargetWrapper(idbStore)); } diff --git a/src/matrix/storage/idb/stores/PendingEventStore.js b/src/matrix/storage/idb/stores/PendingEventStore.js index d413ec63..7aa5408a 100644 --- a/src/matrix/storage/idb/stores/PendingEventStore.js +++ b/src/matrix/storage/idb/stores/PendingEventStore.js @@ -1,5 +1,5 @@ import { encodeUint32, decodeUint32 } from "../utils.js"; -import Platform from "../../../../Platform.js"; +import {Platform} from "../../../../Platform.js"; function encodeKey(roomId, queueIndex) { return `${roomId}|${encodeUint32(queueIndex)}`; @@ -11,7 +11,7 @@ function decodeKey(key) { return {roomId, queueIndex}; } -export default class PendingEventStore { +export class PendingEventStore { constructor(eventStore) { this._eventStore = eventStore; } diff --git a/src/matrix/storage/idb/stores/RoomStateStore.js b/src/matrix/storage/idb/stores/RoomStateStore.js index 09f3cd6d..21c17c5a 100644 --- a/src/matrix/storage/idb/stores/RoomStateStore.js +++ b/src/matrix/storage/idb/stores/RoomStateStore.js @@ -1,4 +1,4 @@ -export default class RoomStateStore { +export class RoomStateStore { constructor(idbStore) { this._roomStateStore = idbStore; } diff --git a/src/matrix/storage/idb/stores/RoomSummaryStore.js b/src/matrix/storage/idb/stores/RoomSummaryStore.js index 5d4c99ec..45cf8468 100644 --- a/src/matrix/storage/idb/stores/RoomSummaryStore.js +++ b/src/matrix/storage/idb/stores/RoomSummaryStore.js @@ -11,7 +11,7 @@ store contains: inviteCount joinCount */ -export default class RoomSummaryStore { +export class RoomSummaryStore { constructor(summaryStore) { this._summaryStore = summaryStore; } diff --git a/src/matrix/storage/idb/stores/SessionStore.js b/src/matrix/storage/idb/stores/SessionStore.js index 405f9794..72af611d 100644 --- a/src/matrix/storage/idb/stores/SessionStore.js +++ b/src/matrix/storage/idb/stores/SessionStore.js @@ -14,7 +14,7 @@ store contains: avatarUrl lastSynced */ -export default class SessionStore { +export class SessionStore { constructor(sessionStore) { this._sessionStore = sessionStore; } diff --git a/src/matrix/storage/idb/stores/TimelineEventStore.js b/src/matrix/storage/idb/stores/TimelineEventStore.js index f54fc758..7ccb0883 100644 --- a/src/matrix/storage/idb/stores/TimelineEventStore.js +++ b/src/matrix/storage/idb/stores/TimelineEventStore.js @@ -1,7 +1,7 @@ -import EventKey from "../../../room/timeline/EventKey.js"; +import {EventKey} from "../../../room/timeline/EventKey.js"; import { StorageError } from "../../common.js"; import { encodeUint32 } from "../utils.js"; -import Platform from "../../../../Platform.js"; +import {Platform} from "../../../../Platform.js"; function encodeKey(roomId, fragmentId, eventIndex) { return `${roomId}|${encodeUint32(fragmentId)}|${encodeUint32(eventIndex)}`; @@ -81,7 +81,7 @@ class Range { * @property {?Event} event if an event entry, the event * @property {?Gap} gap if a gap entry, the gap */ -export default class TimelineEventStore { +export class TimelineEventStore { constructor(timelineStore) { this._timelineStore = timelineStore; } diff --git a/src/matrix/storage/idb/stores/TimelineFragmentStore.js b/src/matrix/storage/idb/stores/TimelineFragmentStore.js index 064daed7..4dc33c13 100644 --- a/src/matrix/storage/idb/stores/TimelineFragmentStore.js +++ b/src/matrix/storage/idb/stores/TimelineFragmentStore.js @@ -1,12 +1,12 @@ import { StorageError } from "../../common.js"; -import Platform from "../../../../Platform.js"; +import {Platform} from "../../../../Platform.js"; import { encodeUint32 } from "../utils.js"; function encodeKey(roomId, fragmentId) { return `${roomId}|${encodeUint32(fragmentId)}`; } -export default class RoomFragmentStore { +export class TimelineFragmentStore { constructor(store) { this._store = store; } diff --git a/src/matrix/storage/idb/transaction.js b/src/matrix/storage/idb/transaction.js index 1c2c8286..916f9bc5 100644 --- a/src/matrix/storage/idb/transaction.js +++ b/src/matrix/storage/idb/transaction.js @@ -1,14 +1,14 @@ import {txnAsPromise} from "./utils.js"; import {StorageError} from "../common.js"; -import Store from "./store.js"; -import SessionStore from "./stores/SessionStore.js"; -import RoomSummaryStore from "./stores/RoomSummaryStore.js"; -import TimelineEventStore from "./stores/TimelineEventStore.js"; -import RoomStateStore from "./stores/RoomStateStore.js"; -import TimelineFragmentStore from "./stores/TimelineFragmentStore.js"; -import PendingEventStore from "./stores/PendingEventStore.js"; +import {Store} from "./store.js"; +import {SessionStore} from "./stores/SessionStore.js"; +import {RoomSummaryStore} from "./stores/RoomSummaryStore.js"; +import {TimelineEventStore} from "./stores/TimelineEventStore.js"; +import {RoomStateStore} from "./stores/RoomStateStore.js"; +import {TimelineFragmentStore} from "./stores/TimelineFragmentStore.js"; +import {PendingEventStore} from "./stores/PendingEventStore.js"; -export default class Transaction { +export class Transaction { constructor(txn, allowedStoreNames) { this._txn = txn; this._allowedStoreNames = allowedStoreNames; diff --git a/src/matrix/storage/memory/Storage.js b/src/matrix/storage/memory/Storage.js index fb178b01..3c5294a9 100644 --- a/src/matrix/storage/memory/Storage.js +++ b/src/matrix/storage/memory/Storage.js @@ -1,7 +1,7 @@ -import Transaction from "./transaction.js"; +import {Transaction} from "./transaction.js"; import { STORE_MAP, STORE_NAMES } from "../common.js"; -export default class Storage { +export class Storage { constructor(initialStoreValues = {}) { this._validateStoreNames(Object.keys(initialStoreValues)); this.storeNames = STORE_MAP; diff --git a/src/matrix/storage/memory/Transaction.js b/src/matrix/storage/memory/Transaction.js index 437962da..b37a53fc 100644 --- a/src/matrix/storage/memory/Transaction.js +++ b/src/matrix/storage/memory/Transaction.js @@ -1,6 +1,6 @@ -import RoomTimelineStore from "./stores/RoomTimelineStore.js"; +import {RoomTimelineStore} from "./stores/RoomTimelineStore.js"; -export default class Transaction { +export class Transaction { constructor(storeValues, writable) { this._storeValues = storeValues; this._txnStoreValues = {}; diff --git a/src/matrix/storage/memory/stores/RoomTimelineStore.js b/src/matrix/storage/memory/stores/RoomTimelineStore.js index 3c17c045..6152daa7 100644 --- a/src/matrix/storage/memory/stores/RoomTimelineStore.js +++ b/src/matrix/storage/memory/stores/RoomTimelineStore.js @@ -1,6 +1,6 @@ -import SortKey from "../../room/timeline/SortKey.js"; -import sortedIndex from "../../../utils/sortedIndex.js"; -import Store from "./Store.js"; +import {SortKey} from "../../room/timeline/SortKey.js"; +import {sortedIndex} from "../../../utils/sortedIndex.js"; +import {Store} from "./Store.js"; function compareKeys(key, entry) { if (key.roomId === entry.roomId) { @@ -65,7 +65,7 @@ class Range { } } -export default class RoomTimelineStore extends Store { +export class RoomTimelineStore extends Store { constructor(timeline, writable) { super(timeline || [], writable); } diff --git a/src/matrix/storage/memory/stores/Store.js b/src/matrix/storage/memory/stores/Store.js index 8028a783..c04ac258 100644 --- a/src/matrix/storage/memory/stores/Store.js +++ b/src/matrix/storage/memory/stores/Store.js @@ -1,4 +1,4 @@ -export default class Store { +export class Store { constructor(storeValue, writable) { this._storeValue = storeValue; this._writable = writable; diff --git a/src/mocks/Clock.js b/src/mocks/Clock.js index 0a08bf58..fd49b313 100644 --- a/src/mocks/Clock.js +++ b/src/mocks/Clock.js @@ -1,4 +1,4 @@ -import ObservableValue from "../observable/ObservableValue.js"; +import {ObservableValue} from "../observable/ObservableValue.js"; class Timeout { constructor(elapsed, ms) { @@ -29,7 +29,7 @@ class TimeMeasure { } } -export default class Clock { +export class Clock { constructor(baseTimestamp = 0) { this._baseTimestamp = baseTimestamp; this._elapsed = new ObservableValue(0); diff --git a/src/observable/BaseObservable.js b/src/observable/BaseObservable.js index 6ef46ab6..75d8023f 100644 --- a/src/observable/BaseObservable.js +++ b/src/observable/BaseObservable.js @@ -1,4 +1,4 @@ -export default class BaseObservable { +export class BaseObservable { constructor() { this._handlers = new Set(); } diff --git a/src/observable/ObservableValue.js b/src/observable/ObservableValue.js index 94f2d188..b9fa4c4d 100644 --- a/src/observable/ObservableValue.js +++ b/src/observable/ObservableValue.js @@ -1,5 +1,5 @@ import {AbortError} from "../utils/error.js"; -import BaseObservable from "./BaseObservable.js"; +import {BaseObservable} from "./BaseObservable.js"; // like an EventEmitter, but doesn't have an event type export class BaseObservableValue extends BaseObservable { @@ -49,7 +49,7 @@ class ResolvedWaitForHandle { dispose() {} } -export default class ObservableValue extends BaseObservableValue { +export class ObservableValue extends BaseObservableValue { constructor(initialValue) { super(); this._value = initialValue; diff --git a/src/observable/index.js b/src/observable/index.js index 5444e27e..2497a7db 100644 --- a/src/observable/index.js +++ b/src/observable/index.js @@ -1,13 +1,13 @@ -import SortedMapList from "./list/SortedMapList.js"; -import FilteredMap from "./map/FilteredMap.js"; -import MappedMap from "./map/MappedMap.js"; -import BaseObservableMap from "./map/BaseObservableMap.js"; +import {SortedMapList} from "./list/SortedMapList.js"; +import {FilteredMap} from "./map/FilteredMap.js"; +import {MappedMap} from "./map/MappedMap.js"; +import {BaseObservableMap} from "./map/BaseObservableMap.js"; // re-export "root" (of chain) collections -export { default as ObservableArray } from "./list/ObservableArray.js"; -export { default as SortedArray } from "./list/SortedArray.js"; -export { default as MappedList } from "./list/MappedList.js"; -export { default as ConcatList } from "./list/ConcatList.js"; -export { default as ObservableMap } from "./map/ObservableMap.js"; +export { ObservableArray } from "./list/ObservableArray.js"; +export { SortedArray } from "./list/SortedArray.js"; +export { MappedList } from "./list/MappedList.js"; +export { ConcatList } from "./list/ConcatList.js"; +export { ObservableMap } from "./map/ObservableMap.js"; // avoid circular dependency between these classes // and BaseObservableMap (as they extend it) diff --git a/src/observable/list/BaseObservableList.js b/src/observable/list/BaseObservableList.js index 4c7e3491..4f15d02a 100644 --- a/src/observable/list/BaseObservableList.js +++ b/src/observable/list/BaseObservableList.js @@ -1,6 +1,6 @@ -import BaseObservable from "../BaseObservable.js"; +import {BaseObservable} from "../BaseObservable.js"; -export default class BaseObservableList extends BaseObservable { +export class BaseObservableList extends BaseObservable { emitReset() { for(let h of this._handlers) { h.onReset(this); diff --git a/src/observable/list/ConcatList.js b/src/observable/list/ConcatList.js index 6177f6f3..987dbb80 100644 --- a/src/observable/list/ConcatList.js +++ b/src/observable/list/ConcatList.js @@ -1,6 +1,6 @@ -import BaseObservableList from "./BaseObservableList.js"; +import {BaseObservableList} from "./BaseObservableList.js"; -export default class ConcatList extends BaseObservableList { +export class ConcatList extends BaseObservableList { constructor(...sourceLists) { super(); this._sourceLists = sourceLists; @@ -86,7 +86,7 @@ export default class ConcatList extends BaseObservableList { } } -import ObservableArray from "./ObservableArray.js"; +import {ObservableArray} from "./ObservableArray.js"; export async function tests() { return { test_length(assert) { diff --git a/src/observable/list/MappedList.js b/src/observable/list/MappedList.js index a2adcdbd..55b8bd30 100644 --- a/src/observable/list/MappedList.js +++ b/src/observable/list/MappedList.js @@ -1,6 +1,6 @@ -import BaseObservableList from "./BaseObservableList.js"; +import {BaseObservableList} from "./BaseObservableList.js"; -export default class MappedList extends BaseObservableList { +export class MappedList extends BaseObservableList { constructor(sourceList, mapper, updater) { super(); this._sourceList = sourceList; diff --git a/src/observable/list/ObservableArray.js b/src/observable/list/ObservableArray.js index 47b0e24a..afbc0144 100644 --- a/src/observable/list/ObservableArray.js +++ b/src/observable/list/ObservableArray.js @@ -1,6 +1,6 @@ -import BaseObservableList from "./BaseObservableList.js"; +import {BaseObservableList} from "./BaseObservableList.js"; -export default class ObservableArray extends BaseObservableList { +export class ObservableArray extends BaseObservableList { constructor(initialValues = []) { super(); this._items = initialValues; diff --git a/src/observable/list/SortedArray.js b/src/observable/list/SortedArray.js index 6b34afdf..5bb89297 100644 --- a/src/observable/list/SortedArray.js +++ b/src/observable/list/SortedArray.js @@ -1,7 +1,7 @@ -import BaseObservableList from "./BaseObservableList.js"; -import sortedIndex from "../../utils/sortedIndex.js"; +import {BaseObservableList} from "./BaseObservableList.js"; +import {sortedIndex} from "../../utils/sortedIndex.js"; -export default class SortedArray extends BaseObservableList { +export class SortedArray extends BaseObservableList { constructor(comparator) { super(); this._comparator = comparator; diff --git a/src/observable/list/SortedMapList.js b/src/observable/list/SortedMapList.js index ebd7e86a..539bb65f 100644 --- a/src/observable/list/SortedMapList.js +++ b/src/observable/list/SortedMapList.js @@ -1,5 +1,5 @@ -import BaseObservableList from "./BaseObservableList.js"; -import sortedIndex from "../../utils/sortedIndex.js"; +import {BaseObservableList} from "./BaseObservableList.js"; +import {sortedIndex} from "../../utils/sortedIndex.js"; /* @@ -29,7 +29,7 @@ with a node containing {value, leftCount, rightCount, leftNode, rightNode, paren // types modified outside of the collection (and affecting sort order) or not // no duplicates allowed for now -export default class SortedMapList extends BaseObservableList { +export class SortedMapList extends BaseObservableList { constructor(sourceMap, comparator) { super(); this._sourceMap = sourceMap; @@ -114,7 +114,7 @@ export default class SortedMapList extends BaseObservableList { } //#ifdef TESTS -import ObservableMap from "../map/ObservableMap.js"; +import {ObservableMap} from "../map/ObservableMap.js"; export function tests() { return { diff --git a/src/observable/map/BaseObservableMap.js b/src/observable/map/BaseObservableMap.js index c2f1b974..c825af8e 100644 --- a/src/observable/map/BaseObservableMap.js +++ b/src/observable/map/BaseObservableMap.js @@ -1,6 +1,6 @@ -import BaseObservable from "../BaseObservable.js"; +import {BaseObservable} from "../BaseObservable.js"; -export default class BaseObservableMap extends BaseObservable { +export class BaseObservableMap extends BaseObservable { emitReset() { for(let h of this._handlers) { h.onReset(); diff --git a/src/observable/map/FilteredMap.js b/src/observable/map/FilteredMap.js index b48008b8..17500ecc 100644 --- a/src/observable/map/FilteredMap.js +++ b/src/observable/map/FilteredMap.js @@ -1,6 +1,6 @@ -import BaseObservableMap from "./BaseObservableMap.js"; +import {BaseObservableMap} from "./BaseObservableMap.js"; -export default class FilteredMap extends BaseObservableMap { +export class FilteredMap extends BaseObservableMap { constructor(source, mapper, updater) { super(); this._source = source; diff --git a/src/observable/map/MappedMap.js b/src/observable/map/MappedMap.js index 4b16373b..14f46c44 100644 --- a/src/observable/map/MappedMap.js +++ b/src/observable/map/MappedMap.js @@ -1,9 +1,9 @@ -import BaseObservableMap from "./BaseObservableMap.js"; +import {BaseObservableMap} from "./BaseObservableMap.js"; /* so a mapped value can emit updates on it's own with this._updater that is passed in the mapping function how should the mapped value be notified of an update though? and can it then decide to not propagate the update? */ -export default class MappedMap extends BaseObservableMap { +export class MappedMap extends BaseObservableMap { constructor(source, mapper) { super(); this._source = source; diff --git a/src/observable/map/ObservableMap.js b/src/observable/map/ObservableMap.js index cd864ef4..cbdd7b3c 100644 --- a/src/observable/map/ObservableMap.js +++ b/src/observable/map/ObservableMap.js @@ -1,6 +1,6 @@ -import BaseObservableMap from "./BaseObservableMap.js"; +import {BaseObservableMap} from "./BaseObservableMap.js"; -export default class ObservableMap extends BaseObservableMap { +export class ObservableMap extends BaseObservableMap { constructor(initialValues) { super(); this._values = new Map(initialValues); diff --git a/src/ui/web/BrawlView.js b/src/ui/web/BrawlView.js index c5642e15..f4325a77 100644 --- a/src/ui/web/BrawlView.js +++ b/src/ui/web/BrawlView.js @@ -1,10 +1,10 @@ -import SessionView from "./session/SessionView.js"; -import LoginView from "./login/LoginView.js"; -import SessionPickerView from "./login/SessionPickerView.js"; -import TemplateView from "./general/TemplateView.js"; -import SwitchView from "./general/SwitchView.js"; +import {SessionView} from "./session/SessionView.js"; +import {LoginView} from "./login/LoginView.js"; +import {SessionPickerView} from "./login/SessionPickerView.js"; +import {TemplateView} from "./general/TemplateView.js"; +import {SwitchView} from "./general/SwitchView.js"; -export default class BrawlView { +export class BrawlView { constructor(vm) { this._vm = vm; this._switcher = null; diff --git a/src/ui/web/WebPlatform.js b/src/ui/web/WebPlatform.js index 4f3d9e06..453e36e6 100644 --- a/src/ui/web/WebPlatform.js +++ b/src/ui/web/WebPlatform.js @@ -1,4 +1,4 @@ -export default { +export const WebPlatform = { get minStorageKey() { // for indexeddb, we use unsigned 32 bit integers as keys return 0; diff --git a/src/ui/web/dom/Clock.js b/src/ui/web/dom/Clock.js index cc36c813..8a10499a 100644 --- a/src/ui/web/dom/Clock.js +++ b/src/ui/web/dom/Clock.js @@ -37,7 +37,7 @@ class TimeMeasure { } } -export default class Clock { +export class Clock { createMeasure() { return new TimeMeasure(); } diff --git a/src/ui/web/dom/OnlineStatus.js b/src/ui/web/dom/OnlineStatus.js index dc17a2ba..1cd3a9b5 100644 --- a/src/ui/web/dom/OnlineStatus.js +++ b/src/ui/web/dom/OnlineStatus.js @@ -1,6 +1,6 @@ import {BaseObservableValue} from "../../../observable/ObservableValue.js"; -export default class OnlineStatus extends BaseObservableValue { +export class OnlineStatus extends BaseObservableValue { constructor() { super(); this._onOffline = this._onOffline.bind(this); diff --git a/src/ui/web/general/ListView.js b/src/ui/web/general/ListView.js index 4bd14f7c..cc01191b 100644 --- a/src/ui/web/general/ListView.js +++ b/src/ui/web/general/ListView.js @@ -10,7 +10,7 @@ function insertAt(parentNode, idx, childNode) { } } -export default class ListView { +export class ListView { constructor({list, onItemClick, className}, childCreator) { this._onItemClick = onItemClick; this._list = list; diff --git a/src/ui/web/general/SwitchView.js b/src/ui/web/general/SwitchView.js index 3b40c2bb..80ee7198 100644 --- a/src/ui/web/general/SwitchView.js +++ b/src/ui/web/general/SwitchView.js @@ -1,4 +1,4 @@ -export default class SwitchView { +export class SwitchView { constructor(defaultView) { this._childView = defaultView; } diff --git a/src/ui/web/general/Template.js b/src/ui/web/general/Template.js index b8c566c2..43891951 100644 --- a/src/ui/web/general/Template.js +++ b/src/ui/web/general/Template.js @@ -22,7 +22,7 @@ function objHasFns(obj) { missing: - create views */ -export default class Template { +export class Template { constructor(value, render) { this._value = value; this._eventListeners = null; diff --git a/src/ui/web/general/TemplateView.js b/src/ui/web/general/TemplateView.js index f6be9292..9afa1efe 100644 --- a/src/ui/web/general/TemplateView.js +++ b/src/ui/web/general/TemplateView.js @@ -1,6 +1,6 @@ -import Template from "./Template.js"; +import {Template} from "./Template.js"; -export default class TemplateView { +export class TemplateView { constructor(vm, bindToChangeEvent) { this.viewModel = vm; this._changeEventHandler = bindToChangeEvent ? this.update.bind(this, this.viewModel) : null; diff --git a/src/ui/web/login/LoginView.js b/src/ui/web/login/LoginView.js index e5b97da6..9eccc062 100644 --- a/src/ui/web/login/LoginView.js +++ b/src/ui/web/login/LoginView.js @@ -1,7 +1,7 @@ -import TemplateView from "../general/TemplateView.js"; +import {TemplateView} from "../general/TemplateView.js"; import {brawlGithubLink} from "./common.js"; -export default class LoginView extends TemplateView { +export class LoginView extends TemplateView { constructor(vm) { super(vm, true); } diff --git a/src/ui/web/login/SessionPickerView.js b/src/ui/web/login/SessionPickerView.js index 1dca2624..ed335033 100644 --- a/src/ui/web/login/SessionPickerView.js +++ b/src/ui/web/login/SessionPickerView.js @@ -1,5 +1,5 @@ -import ListView from "../general/ListView.js"; -import TemplateView from "../general/TemplateView.js"; +import {ListView} from "../general/ListView.js"; +import {TemplateView} from "../general/TemplateView.js"; import {brawlGithubLink} from "./common.js"; function selectFileAsText(mimeType) { @@ -71,7 +71,7 @@ class SessionPickerItemView extends TemplateView { } } -export default class SessionPickerView extends TemplateView { +export class SessionPickerView extends TemplateView { mount() { this._sessionList = new ListView({ list: this.viewModel.sessions, diff --git a/src/ui/web/session/RoomPlaceholderView.js b/src/ui/web/session/RoomPlaceholderView.js index d4cb7e0e..3a8f3e27 100644 --- a/src/ui/web/session/RoomPlaceholderView.js +++ b/src/ui/web/session/RoomPlaceholderView.js @@ -1,6 +1,6 @@ import {tag} from "../general/html.js"; -export default class RoomPlaceholderView { +export class RoomPlaceholderView { constructor() { this._root = null; } diff --git a/src/ui/web/session/RoomTile.js b/src/ui/web/session/RoomTile.js index 59c76cd8..38210003 100644 --- a/src/ui/web/session/RoomTile.js +++ b/src/ui/web/session/RoomTile.js @@ -1,6 +1,6 @@ -import TemplateView from "../general/TemplateView.js"; +import {TemplateView} from "../general/TemplateView.js"; -export default class RoomTile extends TemplateView { +export class RoomTile extends TemplateView { render(t) { return t.li([ t.div({className: "avatar medium"}, vm => vm.avatarInitials), diff --git a/src/ui/web/session/SessionView.js b/src/ui/web/session/SessionView.js index 9b97ac19..19456fd0 100644 --- a/src/ui/web/session/SessionView.js +++ b/src/ui/web/session/SessionView.js @@ -1,12 +1,12 @@ -import ListView from "../general/ListView.js"; -import RoomTile from "./RoomTile.js"; -import RoomView from "./room/RoomView.js"; -import SwitchView from "../general/SwitchView.js"; -import RoomPlaceholderView from "./RoomPlaceholderView.js"; -import SyncStatusBar from "./SyncStatusBar.js"; +import {ListView} from "../general/ListView.js"; +import {RoomTile} from "./RoomTile.js"; +import {RoomView} from "./room/RoomView.js"; +import {SwitchView} from "../general/SwitchView.js"; +import {RoomPlaceholderView} from "./RoomPlaceholderView.js"; +import {SyncStatusBar} from "./SyncStatusBar.js"; import {tag} from "../general/html.js"; -export default class SessionView { +export class SessionView { constructor(viewModel) { this._viewModel = viewModel; this._middleSwitcher = null; diff --git a/src/ui/web/session/SyncStatusBar.js b/src/ui/web/session/SyncStatusBar.js index 792aaa24..e8d4e95c 100644 --- a/src/ui/web/session/SyncStatusBar.js +++ b/src/ui/web/session/SyncStatusBar.js @@ -1,6 +1,6 @@ -import TemplateView from "../general/TemplateView.js"; +import {TemplateView} from "../general/TemplateView.js"; -export default class SyncStatusBar extends TemplateView { +export class SyncStatusBar extends TemplateView { constructor(vm) { super(vm, true); } diff --git a/src/ui/web/session/room/MessageComposer.js b/src/ui/web/session/room/MessageComposer.js index 79e2fd5e..664b246c 100644 --- a/src/ui/web/session/room/MessageComposer.js +++ b/src/ui/web/session/room/MessageComposer.js @@ -1,6 +1,6 @@ -import TemplateView from "../../general/TemplateView.js"; +import {TemplateView} from "../../general/TemplateView.js"; -export default class MessageComposer extends TemplateView { +export class MessageComposer extends TemplateView { constructor(viewModel) { super(viewModel); this._input = null; diff --git a/src/ui/web/session/room/RoomView.js b/src/ui/web/session/room/RoomView.js index f431c16c..d3d0d849 100644 --- a/src/ui/web/session/room/RoomView.js +++ b/src/ui/web/session/room/RoomView.js @@ -1,8 +1,8 @@ -import TemplateView from "../../general/TemplateView.js"; -import TimelineList from "./TimelineList.js"; -import MessageComposer from "./MessageComposer.js"; +import {TemplateView} from "../../general/TemplateView.js"; +import {TimelineList} from "./TimelineList.js"; +import {MessageComposer} from "./MessageComposer.js"; -export default class RoomView extends TemplateView { +export class RoomView extends TemplateView { constructor(viewModel) { super(viewModel, true); this._timelineList = null; diff --git a/src/ui/web/session/room/TimelineList.js b/src/ui/web/session/room/TimelineList.js index ab5eee0d..8d042212 100644 --- a/src/ui/web/session/room/TimelineList.js +++ b/src/ui/web/session/room/TimelineList.js @@ -1,9 +1,9 @@ -import ListView from "../../general/ListView.js"; -import GapView from "./timeline/GapView.js"; -import TextMessageView from "./timeline/TextMessageView.js"; -import AnnouncementView from "./timeline/AnnouncementView.js"; +import {ListView} from "../../general/ListView.js"; +import {GapView} from "./timeline/GapView.js"; +import {TextMessageView} from "./timeline/TextMessageView.js"; +import {AnnouncementView} from "./timeline/AnnouncementView.js"; -export default class TimelineList extends ListView { +export class TimelineList extends ListView { constructor(options = {}) { options.className = "Timeline"; super(options, entry => { diff --git a/src/ui/web/session/room/timeline/AnnouncementView.js b/src/ui/web/session/room/timeline/AnnouncementView.js index fff0d081..b377a1c0 100644 --- a/src/ui/web/session/room/timeline/AnnouncementView.js +++ b/src/ui/web/session/room/timeline/AnnouncementView.js @@ -1,6 +1,6 @@ -import TemplateView from "../../../general/TemplateView.js"; +import {TemplateView} from "../../../general/TemplateView.js"; -export default class AnnouncementView extends TemplateView { +export class AnnouncementView extends TemplateView { render(t) { return t.li({className: "AnnouncementView"}, t.div(vm => vm.announcement)); } diff --git a/src/ui/web/session/room/timeline/GapView.js b/src/ui/web/session/room/timeline/GapView.js index 62cde6a6..db79f161 100644 --- a/src/ui/web/session/room/timeline/GapView.js +++ b/src/ui/web/session/room/timeline/GapView.js @@ -1,6 +1,6 @@ -import TemplateView from "../../../general/TemplateView.js"; +import {TemplateView} from "../../../general/TemplateView.js"; -export default class GapView extends TemplateView { +export class GapView extends TemplateView { render(t, vm) { const className = { GapView: true, diff --git a/src/ui/web/session/room/timeline/TextMessageView.js b/src/ui/web/session/room/timeline/TextMessageView.js index a4d698eb..7cf39cce 100644 --- a/src/ui/web/session/room/timeline/TextMessageView.js +++ b/src/ui/web/session/room/timeline/TextMessageView.js @@ -1,6 +1,6 @@ -import TemplateView from "../../../general/TemplateView.js"; +import {TemplateView} from "../../../general/TemplateView.js"; -export default class TextMessageView extends TemplateView { +export class TextMessageView extends TemplateView { render(t, vm) { // no bindings ... should this be a template view? return t.li( diff --git a/src/ui/web/session/room/timeline/TimelineTile.js b/src/ui/web/session/room/timeline/TimelineTile.js index 4e87f182..003f3191 100644 --- a/src/ui/web/session/room/timeline/TimelineTile.js +++ b/src/ui/web/session/room/timeline/TimelineTile.js @@ -1,6 +1,6 @@ import {tag} from "../../../general/html.js"; -export default class TimelineTile { +export class TimelineTile { constructor(tileVM) { this._tileVM = tileVM; this._root = null; diff --git a/src/utils/enum.js b/src/utils/enum.js index 56b14a77..3500ef01 100644 --- a/src/utils/enum.js +++ b/src/utils/enum.js @@ -1,7 +1,7 @@ -export default function createEnum(...values) { +export function createEnum(...values) { const obj = {}; for (const value of values) { obj[value] = value; } return Object.freeze(obj); -} \ No newline at end of file +} diff --git a/src/utils/sortedIndex.js b/src/utils/sortedIndex.js index 70eaa9b8..ac002d81 100644 --- a/src/utils/sortedIndex.js +++ b/src/utils/sortedIndex.js @@ -6,7 +6,7 @@ * Based on Underscore.js 1.8.3 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors */ -export default function sortedIndex(array, value, comparator) { +export function sortedIndex(array, value, comparator) { let low = 0; let high = array.length;