Skip to content

Commit 5199e2d

Browse files
authored
refactor(client): Add explicit function return types (#26019)
Part of a multi-PR effort in preparation to add global eslint enforcement
1 parent e0114f7 commit 5199e2d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+282
-201
lines changed

packages/drivers/file-driver/src/fileDocumentDeltaConnection.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ export class Replayer {
5454
private readonly documentStorageService: FileDeltaStorageService,
5555
) {}
5656

57-
public get currentReplayedOp() {
57+
public get currentReplayedOp(): number {
5858
return this.currentReplayOp;
5959
}
6060

@@ -70,7 +70,7 @@ export class Replayer {
7070
* Replay the ops upto a certain number.
7171
* @param replayTo - The last op number to be replayed.
7272
*/
73-
public replay(replayTo: number) {
73+
public replay(replayTo: number): number {
7474
let totalReplayedOps = 0;
7575
let done: boolean;
7676
do {
@@ -94,14 +94,14 @@ export class Replayer {
9494
return totalReplayedOps;
9595
}
9696

97-
private isDoneFetch(replayTo: number) {
97+
private isDoneFetch(replayTo: number): boolean {
9898
if (replayTo >= 0) {
9999
return this.currentReplayOp >= replayTo;
100100
}
101101
return false;
102102
}
103103

104-
private emit(ops: ISequencedDocumentMessage[]) {
104+
private emit(ops: ISequencedDocumentMessage[]): void {
105105
// Note: do not clone messages here!
106106
// If Replay Tool fails due to one container patching message in-place,
107107
// then same thing can happen in shipping product due to
@@ -162,7 +162,7 @@ export class ReplayFileDeltaConnection
162162
this.replayer = new Replayer(this, documentDeltaStorageService);
163163
}
164164

165-
public getReplayer() {
165+
public getReplayer(): Replayer {
166166
return this.replayer;
167167
}
168168

@@ -209,13 +209,13 @@ export class ReplayFileDeltaConnection
209209
}
210210

211211
// eslint-disable-next-line @typescript-eslint/no-misused-promises
212-
public async submitSignal(message: any) {}
212+
public async submitSignal(message: any): Promise<void> {}
213213

214214
private _disposed = false;
215-
public get disposed() {
215+
public get disposed(): boolean {
216216
return this._disposed;
217217
}
218-
public dispose() {
218+
public dispose(): void {
219219
this._disposed = true;
220220
}
221221
}

packages/drivers/file-driver/src/fileDocumentService.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ export class FileDocumentService
3333
super();
3434
}
3535

36-
public dispose() {}
36+
public dispose(): void {}
3737

3838
public async connectToStorage(): Promise<IDocumentStorageService> {
3939
return this.storage;

packages/drivers/file-driver/src/fileDocumentStorageService.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -145,14 +145,16 @@ export type ReaderConstructor = new (...args: any[]) => IDocumentStorageService;
145145
/**
146146
* @internal
147147
*/
148-
export const FileSnapshotWriterClassFactory = <TBase extends ReaderConstructor>(Base: TBase) =>
148+
export const FileSnapshotWriterClassFactory = <TBase extends ReaderConstructor>(
149+
Base: TBase,
150+
): TBase & (new (...args: any[]) => ISnapshotWriterStorage) =>
149151
class extends Base implements ISnapshotWriterStorage {
150152
// Note: if variable name has same name as in base class, it overrides it!
151153
public blobsWriter = new Map<string, ArrayBufferLike>();
152154
public latestWriterTree?: ISnapshotTree;
153155
public docId?: string;
154156

155-
public reset() {
157+
public reset(): void {
156158
this.blobsWriter = new Map<string, ArrayBufferLike>();
157159
this.latestWriterTree = undefined;
158160
this.docId = undefined;
@@ -245,7 +247,7 @@ export const FileSnapshotWriterClassFactory = <TBase extends ReaderConstructor>(
245247
}
246248
};
247249

248-
function removeNullTreeIds(tree: ITree) {
250+
function removeNullTreeIds(tree: ITree): void {
249251
for (const node of tree.entries) {
250252
if (node.type === TreeEntry.Tree) {
251253
removeNullTreeIds(node.value);

packages/drivers/replay-driver/src/replayDocumentDeltaConnection.ts

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import {
2121
ScopeType,
2222
ISequencedDocumentMessage,
2323
ISignalMessage,
24+
type ISnapshotTree,
2425
} from "@fluidframework/driver-definitions/internal";
2526

2627
import { ReplayController } from "./replayController.js";
@@ -54,15 +55,15 @@ export class ReplayControllerStatic extends ReplayController {
5455
}
5556
}
5657

57-
public async initStorage(documentService: IDocumentService) {
58+
public async initStorage(documentService: IDocumentService): Promise<boolean> {
5859
return true;
5960
}
6061

6162
public async getVersions(versionId: string | null, count: number): Promise<IVersion[]> {
6263
return [];
6364
}
6465

65-
public async getSnapshotTree(version?: IVersion) {
66+
public async getSnapshotTree(version?: IVersion): Promise<ISnapshotTree | null> {
6667
return version ? Promise.reject(new Error("Invalid operation")) : null;
6768
}
6869

@@ -74,14 +75,14 @@ export class ReplayControllerStatic extends ReplayController {
7475
return 0;
7576
}
7677

77-
public fetchTo(currentOp: number) {
78+
public fetchTo(currentOp: number): number | undefined {
7879
if (!(this.unitIsTime !== true && this.replayTo >= 0)) {
7980
return undefined;
8081
}
8182
return this.replayTo;
8283
}
8384

84-
public isDoneFetch(currentOp: number, lastTimeStamp?: number) {
85+
public isDoneFetch(currentOp: number, lastTimeStamp?: number): boolean {
8586
if (this.replayTo >= 0) {
8687
if (this.unitIsTime === true) {
8788
return (
@@ -95,7 +96,7 @@ export class ReplayControllerStatic extends ReplayController {
9596
return lastTimeStamp === undefined; // No more ops
9697
}
9798

98-
public skipToIndex(fetchedOps: ISequencedDocumentMessage[]) {
99+
public skipToIndex(fetchedOps: ISequencedDocumentMessage[]): number {
99100
if (this.replayFrom <= 0) {
100101
return 0;
101102
}
@@ -123,7 +124,7 @@ export class ReplayControllerStatic extends ReplayController {
123124
let current = this.skipToIndex(fetchedOps);
124125

125126
return new Promise((resolve) => {
126-
const replayNextOps = () => {
127+
const replayNextOps = (): void => {
127128
// Emit the ops from replay to the end every "deltainterval" milliseconds
128129
// to simulate the socket stream
129130
const currentOp = fetchedOps[current];
@@ -171,7 +172,7 @@ export class ReplayControllerStatic extends ReplayController {
171172
scheduleNext(nextInterval);
172173
emitter(playbackOps);
173174
};
174-
const scheduleNext = (nextInterval: number) => {
175+
const scheduleNext = (nextInterval: number): void => {
175176
if (nextInterval >= 0 && current < fetchedOps.length) {
176177
setTimeout(replayNextOps, nextInterval);
177178
} else {
@@ -284,13 +285,13 @@ export class ReplayDocumentDeltaConnection
284285
}
285286

286287
// eslint-disable-next-line @typescript-eslint/no-misused-promises
287-
public async submitSignal(message: any) {}
288+
public async submitSignal(message: unknown): Promise<void> {}
288289

289290
private _disposed = false;
290-
public get disposed() {
291+
public get disposed(): boolean {
291292
return this._disposed;
292293
}
293-
public dispose() {
294+
public dispose(): void {
294295
this._disposed = true;
295296
}
296297

packages/drivers/replay-driver/src/replayDocumentService.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ export class ReplayDocumentService
5151
super();
5252
}
5353

54-
public dispose() {}
54+
public dispose(): void {}
5555

5656
// TODO: Issue-2109 Implement detach container api or put appropriate comment.
5757
public get resolvedUrl(): IResolvedUrl {

packages/drivers/replay-driver/src/replayDocumentServiceFactory.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ export class ReplayDocumentServiceFactory implements IDocumentServiceFactory {
2525
from: number,
2626
to: number,
2727
documentServiceFactory: IDocumentServiceFactory,
28-
) {
28+
): ReplayDocumentServiceFactory {
2929
return new ReplayDocumentServiceFactory(
3030
documentServiceFactory,
3131
new ReplayControllerStatic(from, to),

packages/drivers/replay-driver/src/storageImplementations.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ export class StaticStorageDocumentService
152152
super();
153153
}
154154

155-
public dispose() {}
155+
public dispose(): void {}
156156

157157
public async connectToStorage(): Promise<IDocumentStorageService> {
158158
return this.storage;

packages/test/local-server-tests/src/test/audience.spec.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,17 +44,23 @@ describe("Audience correctness", () => {
4444
/**
4545
* Function to wait for a client with the given clientId to be added to the audience of the given container.
4646
*/
47-
async function waitForClientAdd(container: IContainer, clientId: string, errorMsg: string) {
47+
async function waitForClientAdd(
48+
container: IContainer,
49+
clientId: string,
50+
errorMsg: string,
51+
): Promise<void> {
4852
if (container.audience.getMember(clientId) === undefined) {
4953
return timeoutPromise(
5054
(resolve) => {
51-
const listener = (newClientId: string) => {
55+
const listener = (newClientId: string): void => {
5256
if (newClientId === clientId) {
5357
container.audience.off("addMember", listener);
5458
resolve();
5559
}
5660
};
57-
container.audience.on("addMember", (newClientId: string) => listener(newClientId));
61+
container.audience.on("addMember", (newClientId: string): void =>
62+
listener(newClientId),
63+
);
5864
},
5965
// Wait for 2 seconds to get the client in audience. This wait is needed for a client to get added to its
6066
// own audience and 2 seconds should be enough time. It it takes longer than this, we might need to

packages/test/local-server-tests/src/test/connectionMode.spec.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { ContainerRuntimeFactoryWithDefaultDataStore } from "@fluidframework/aqu
99
import { IContainer, IFluidCodeDetails } from "@fluidframework/container-definitions/internal";
1010
import { ConnectionState } from "@fluidframework/container-loader";
1111
import { type ILoaderProps } from "@fluidframework/container-loader/internal";
12+
import type { ITelemetryBaseEvent } from "@fluidframework/core-interfaces";
1213
import {
1314
LocalDocumentServiceFactory,
1415
LocalResolver,
@@ -53,13 +54,13 @@ describe("Logging Last Connection Mode ", () => {
5354

5455
const logger = new MockLogger();
5556

56-
const getConnectedEvents = () =>
57+
const getConnectedEvents = (): ITelemetryBaseEvent[] =>
5758
logger.events.filter(
5859
(event) =>
5960
event.eventName === "fluid:telemetry:Container:ConnectionStateChange_Connected",
6061
);
6162

62-
const getDisconnectedEvents = () =>
63+
const getDisconnectedEvents = (): ITelemetryBaseEvent[] =>
6364
logger.events.filter(
6465
(event) =>
6566
event.eventName === "fluid:telemetry:Container:ConnectionStateChange_Disconnected",

packages/test/local-server-tests/src/test/data-migration/basicMigration.spec.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ const lstValue1 = 42;
4141
const lstValue2 = 38;
4242
const dirValue = "bar";
4343

44-
function modifyOldFile(rootDataObject: RootDO) {
44+
function modifyOldFile(rootDataObject: RootDO): void {
4545
setLSTQuantity(rootDataObject.doWithLST.tree, lstValue1);
4646
setLSTQuantity(rootDataObject.doWithLSTAndDir.tree, lstValue2);
4747
rootDataObject.doWithLSTAndDir.subDirectory.set("value", dirValue);
@@ -62,7 +62,7 @@ async function validateNewRoot(
6262
provider: ITestObjectProvider,
6363
runtimeFactory: IRuntimeFactory,
6464
readContainer?: IContainer,
65-
) {
65+
): Promise<void> {
6666
// Validate in memory objects
6767
const view = rootDataObject.doWithST.view;
6868
const view2 = rootDataObject.doWithST2.view;
@@ -165,7 +165,7 @@ class ExampleStrategy implements IMigrationStrategy {
165165
}
166166

167167
const migrationStrategies: IMigrationStrategy[] = [new ExampleStrategy()];
168-
const createFluidEntryPoint = () => {
168+
const createFluidEntryPoint = (): never => {
169169
throw new Error();
170170
};
171171
describe.skip("basicMigration", () => {

0 commit comments

Comments
 (0)