Skip to content

Commit 334c36b

Browse files
Reuse SDK reducer argument encoder
1 parent 8731891 commit 334c36b

1 file changed

Lines changed: 4 additions & 3 deletions

File tree

crates/bindings-typescript/src/sdk/db_connection_impl.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -316,8 +316,6 @@ export class DbConnectionImpl<RemoteModule extends UntypedRemoteModule>
316316
#makeReducers(def: RemoteModule): ReducersView<RemoteModule> {
317317
const out: Record<string, unknown> = {};
318318

319-
const writer = new BinaryWriter(1024);
320-
321319
for (const reducer of def.reducers) {
322320
const reducerName = reducer.name;
323321
const key = reducer.accessorName;
@@ -326,6 +324,7 @@ export class DbConnectionImpl<RemoteModule extends UntypedRemoteModule>
326324
this.#reducerArgsSerializers[reducerName];
327325

328326
(out as any)[key] = (params: InferTypeOfRow<typeof reducer.params>) => {
327+
const writer = this.#reducerArgsEncoder;
329328
writer.clear();
330329
serializeArgs(writer, params);
331330
const argsBuffer = writer.getBuffer();
@@ -555,6 +554,7 @@ export class DbConnectionImpl<RemoteModule extends UntypedRemoteModule>
555554
}
556555
}
557556

557+
#reducerArgsEncoder = new BinaryWriter(1024);
558558
#clientMessageEncoder = new BinaryWriter(1024);
559559
#sendMessage(message: ClientMessage): void {
560560
const writer = this.#clientMessageEncoder;
@@ -913,7 +913,8 @@ export class DbConnectionImpl<RemoteModule extends UntypedRemoteModule>
913913
_paramsType: ProductType,
914914
params: object
915915
): Promise<void> {
916-
const writer = new BinaryWriter(1024);
916+
const writer = this.#reducerArgsEncoder;
917+
writer.clear();
917918
this.#reducerArgsSerializers[reducerName].serialize(writer, params);
918919
const argsBuffer = writer.getBuffer();
919920
return this.callReducer(reducerName, argsBuffer, params);

0 commit comments

Comments
 (0)