reuse instances of TextDecoder/Encoder

This commit is contained in:
2025-01-22 23:09:28 -06:00
parent e4ed695eb9
commit c33a2dfd33
4 changed files with 8 additions and 5 deletions
+2 -1
View File
@@ -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 {
+2 -1
View File
@@ -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 {
+2 -2
View File
@@ -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);
+2 -1
View File
@@ -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);