From c33a2dfd3324b0d39ba2a1d29bd23ffb59d20218 Mon Sep 17 00:00:00 2001 From: Joel Wetzell Date: Wed, 22 Jan 2025 23:09:28 -0600 Subject: [PATCH] reuse instances of TextDecoder/Encoder --- src/decoders/info/info-system-name-chunk.ts | 3 ++- src/decoders/info/info-tracker-name-chunk.ts | 3 ++- src/encoders/info/info-system-name-chunk.ts | 4 ++-- src/encoders/info/info-tracker-name-chunk.ts | 3 ++- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/decoders/info/info-system-name-chunk.ts b/src/decoders/info/info-system-name-chunk.ts index 0b46916..adf5087 100644 --- a/src/decoders/info/info-system-name-chunk.ts +++ b/src/decoders/info/info-system-name-chunk.ts @@ -1,11 +1,12 @@ import { Decoders } from '..'; import { InfoSystemNameChunk, InfoSystemNameChunkData } from '../../models/info/info-system-name-chunk'; +const nameDecoder = new TextDecoder(); export default (buffer: Uint8Array): InfoSystemNameChunk => { const chunk = Decoders.Chunk(buffer); const data: InfoSystemNameChunkData = { - systemName: new TextDecoder().decode(chunk.chunkData.subarray(0, chunk.header.dataLen)), + systemName: nameDecoder.decode(chunk.chunkData.subarray(0, chunk.header.dataLen)), }; return { diff --git a/src/decoders/info/info-tracker-name-chunk.ts b/src/decoders/info/info-tracker-name-chunk.ts index 3d8be6f..80a8be1 100644 --- a/src/decoders/info/info-tracker-name-chunk.ts +++ b/src/decoders/info/info-tracker-name-chunk.ts @@ -1,11 +1,12 @@ import { Decoders } from '..'; import { InfoTrackerNameChunk, InfoTrackerNameChunkData } from '../../models/info/info-tracker-name-chunk'; +const nameDecoder = new TextDecoder(); export default (buffer: Uint8Array): InfoTrackerNameChunk => { const chunk = Decoders.Chunk(buffer); const data: InfoTrackerNameChunkData = { - trackerName: new TextDecoder().decode(chunk.chunkData.subarray(0, chunk.header.dataLen)), + trackerName: nameDecoder.decode(chunk.chunkData.subarray(0, chunk.header.dataLen)), }; return { diff --git a/src/encoders/info/info-system-name-chunk.ts b/src/encoders/info/info-system-name-chunk.ts index f6d00ee..71f347f 100644 --- a/src/encoders/info/info-system-name-chunk.ts +++ b/src/encoders/info/info-system-name-chunk.ts @@ -1,3 +1,3 @@ import chunk from '../chunk'; - -export default (systemName: string): Uint8Array => chunk(0x0001, new TextEncoder().encode(systemName), false); +const nameEncoder = new TextEncoder(); +export default (systemName: string): Uint8Array => chunk(0x0001, nameEncoder.encode(systemName), false); diff --git a/src/encoders/info/info-tracker-name-chunk.ts b/src/encoders/info/info-tracker-name-chunk.ts index 2157f27..e5a6e1a 100644 --- a/src/encoders/info/info-tracker-name-chunk.ts +++ b/src/encoders/info/info-tracker-name-chunk.ts @@ -1,3 +1,4 @@ import chunk from '../chunk'; -export default (trackerName: string) => chunk(0x0000, new TextEncoder().encode(trackerName), false); +const nameEncoder = new TextEncoder(); +export default (trackerName: string) => chunk(0x0000, nameEncoder.encode(trackerName), false);