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 { Decoders } from '..';
import { InfoSystemNameChunk, InfoSystemNameChunkData } from '../../models/info/info-system-name-chunk'; import { InfoSystemNameChunk, InfoSystemNameChunkData } from '../../models/info/info-system-name-chunk';
const nameDecoder = new TextDecoder();
export default (buffer: Uint8Array): InfoSystemNameChunk => { export default (buffer: Uint8Array): InfoSystemNameChunk => {
const chunk = Decoders.Chunk(buffer); const chunk = Decoders.Chunk(buffer);
const data: InfoSystemNameChunkData = { 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 { return {
+2 -1
View File
@@ -1,11 +1,12 @@
import { Decoders } from '..'; import { Decoders } from '..';
import { InfoTrackerNameChunk, InfoTrackerNameChunkData } from '../../models/info/info-tracker-name-chunk'; import { InfoTrackerNameChunk, InfoTrackerNameChunkData } from '../../models/info/info-tracker-name-chunk';
const nameDecoder = new TextDecoder();
export default (buffer: Uint8Array): InfoTrackerNameChunk => { export default (buffer: Uint8Array): InfoTrackerNameChunk => {
const chunk = Decoders.Chunk(buffer); const chunk = Decoders.Chunk(buffer);
const data: InfoTrackerNameChunkData = { 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 { return {
+2 -2
View File
@@ -1,3 +1,3 @@
import chunk from '../chunk'; import chunk from '../chunk';
const nameEncoder = new TextEncoder();
export default (systemName: string): Uint8Array => chunk(0x0001, new TextEncoder().encode(systemName), false); export default (systemName: string): Uint8Array => chunk(0x0001, nameEncoder.encode(systemName), false);
+2 -1
View File
@@ -1,3 +1,4 @@
import chunk from '../chunk'; 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);