Skip to content

Commit 387f85d

Browse files
committed
chore: prefer direct iteration and function callback types
1 parent 6a9336b commit 387f85d

9 files changed

Lines changed: 32 additions & 39 deletions

File tree

.oxlintrc.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@
5858
"react/jsx-fragments": "error",
5959
"react/self-closing-comp": "error",
6060
"no-lone-blocks": "error",
61+
"typescript/prefer-function-type": "error",
62+
"typescript/prefer-for-of": "error",
6163
"trigger/no-thrown-unawaited-redirect": "error",
6264
"trigger-prisma/no-unbounded-list-filter": "error",
6365
"trigger-prisma/no-unbounded-list-filter-in-args-helper": "error"

apps/webapp/app/services/realtime/redisRealtimeStreams.server.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,7 @@ export class RedisRealtimeStreams implements StreamIngestor, StreamResponder {
117117
const [_key, entries] = messages[0];
118118
let foundData = false;
119119

120-
for (let i = 0; i < entries.length; i++) {
121-
const [id, fields] = entries[i];
120+
for (const [id, fields] of entries) {
122121
lastId = id;
123122

124123
if (fields && fields.length >= 2) {

apps/webapp/app/v3/eventRepository/sanitizeRowsOnParseError.server.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -172,8 +172,8 @@ export function sanitizeUnknownInPlace(value: unknown): { value: unknown; fixed:
172172
export function sanitizeRows<T extends object>(rows: T[]): SanitizeResult {
173173
const result: SanitizeResult = { rowsTouched: 0, fieldsSanitized: 0 };
174174

175-
for (let i = 0; i < rows.length; i++) {
176-
const { fixed } = sanitizeUnknownInPlace(rows[i]);
175+
for (const row of rows) {
176+
const { fixed } = sanitizeUnknownInPlace(row);
177177
if (fixed > 0) {
178178
result.rowsTouched++;
179179
result.fieldsSanitized += fixed;

internal-packages/clickhouse/src/client/client.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -897,8 +897,8 @@ export class ClickhouseClient implements ClickhouseReader, ClickhouseWriter {
897897

898898
// Build compact format: [columns, ...rows]
899899
const compactData: any[] = [Array.from(req.columns)];
900-
for (let i = 0; i < eventsArray.length; i++) {
901-
compactData.push(req.toArray(eventsArray[i]));
900+
for (const event of eventsArray) {
901+
compactData.push(req.toArray(event));
902902
}
903903

904904
const [clickhouseError, result] = await tryCatch(

internal-packages/run-engine/src/run-queue/index.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -216,9 +216,9 @@ export type RunQueueOptions = {
216216
};
217217
};
218218

219-
interface ConcurrencySweeperCallback {
220-
(runIds: string[]): Promise<Array<{ id: string; orgId: string }>>;
221-
}
219+
type ConcurrencySweeperCallback = (
220+
runIds: string[]
221+
) => Promise<Array<{ id: string; orgId: string }>>;
222222

223223
type DequeuedMessage = {
224224
messageId: string;

internal-packages/schedule-engine/src/engine/types.ts

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,11 @@ export type TriggerScheduledTaskParams = {
2727

2828
export type TriggerScheduledTaskErrorType = "QUEUE_LIMIT" | "OUT_OF_ENTITLEMENTS" | "SYSTEM_ERROR";
2929

30-
export interface TriggerScheduledTaskCallback {
31-
(params: TriggerScheduledTaskParams): Promise<{
32-
success: boolean;
33-
error?: string;
34-
errorType?: TriggerScheduledTaskErrorType;
35-
}>;
36-
}
30+
export type TriggerScheduledTaskCallback = (params: TriggerScheduledTaskParams) => Promise<{
31+
success: boolean;
32+
error?: string;
33+
errorType?: TriggerScheduledTaskErrorType;
34+
}>;
3735

3836
export interface ScheduleEngineOptions {
3937
logger?: Logger;

internal-packages/webhook-engine/src/engine/types.ts

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,12 @@ export type TriggerWebhookTaskParams = {
1616
endpointMetadata: unknown; // endpoint.metadata -> run metadata
1717
};
1818

19-
export interface TriggerWebhookTaskCallback {
20-
(params: TriggerWebhookTaskParams): Promise<{
21-
success: boolean;
22-
runId?: string; // persisted onto WebhookDelivery.runId on success
23-
error?: string;
24-
errorType?: WebhookDeliverTaskErrorType;
25-
}>;
26-
}
19+
export type TriggerWebhookTaskCallback = (params: TriggerWebhookTaskParams) => Promise<{
20+
success: boolean;
21+
runId?: string; // persisted onto WebhookDelivery.runId on success
22+
error?: string;
23+
errorType?: WebhookDeliverTaskErrorType;
24+
}>;
2725

2826
export interface WebhookEngineOptions {
2927
logger?: Logger;
@@ -82,16 +80,14 @@ export type DeliverWebhookToSessionParams = {
8280
isSessionStart: boolean;
8381
};
8482

85-
export interface DeliverWebhookToSessionCallback {
86-
(params: DeliverWebhookToSessionParams): Promise<{
87-
success: boolean;
88-
runId?: string; // the session's current run, persisted onto WebhookDelivery.runId
89-
error?: string;
90-
errorType?: WebhookDeliverTaskErrorType;
91-
skipped?: boolean; // resume-only and no session existed: recorded FILTERED, not routed
92-
skippedReason?: string;
93-
}>;
94-
}
83+
export type DeliverWebhookToSessionCallback = (params: DeliverWebhookToSessionParams) => Promise<{
84+
success: boolean;
85+
runId?: string; // the session's current run, persisted onto WebhookDelivery.runId
86+
error?: string;
87+
errorType?: WebhookDeliverTaskErrorType;
88+
skipped?: boolean; // resume-only and no session existed: recorded FILTERED, not routed
89+
skippedReason?: string;
90+
}>;
9591

9692
export type IngestInput = {
9793
opaqueId: string; // Q2: globally unique, so ingest resolves the endpoint (and its env id + type) from it

packages/redis-worker/src/mollifier/drainer.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1310,7 +1310,7 @@ describe("MollifierDrainer per-tick org cap", () => {
13101310
// Cursor advances by 1 each tick. Over envs.length ticks every env
13111311
// appears in exactly `sliceSize` of them (slices overlap — intentional,
13121312
// see the head-of-line fairness test below).
1313-
for (let i = 0; i < allEnvs.length; i++) {
1313+
for (const _ of allEnvs) {
13141314
await drainer.runOnce();
13151315
}
13161316

@@ -1356,7 +1356,7 @@ describe("MollifierDrainer per-tick org cap", () => {
13561356
logger: new Logger("test-drainer", "log"),
13571357
});
13581358

1359-
for (let tick = 0; tick < allEnvs.length; tick++) {
1359+
for (const _ of allEnvs) {
13601360
currentTick = [];
13611361
await drainer.runOnce();
13621362
currentTick.forEach((env, position) => {

packages/trigger-sdk/src/v3/retry.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -434,9 +434,7 @@ const getRetryStrategyForResponse = async (
434434
const statusCodes = Object.keys(retry);
435435
const clonedResponse = response.clone();
436436

437-
for (let i = 0; i < statusCodes.length; i++) {
438-
const statusRange = statusCodes[i];
439-
437+
for (const statusRange of statusCodes) {
440438
if (!statusRange) {
441439
continue;
442440
}

0 commit comments

Comments
 (0)