From cecc05270aaf1d06e509429c8bd317f98f4d9e8d Mon Sep 17 00:00:00 2001 From: the1812 Date: Fri, 30 Jun 2023 21:31:56 +0800 Subject: [PATCH] Fix capitalization of comment keys --- package.json | 2 +- src/index.ts | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index dadcb1c..bd72070 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "flac-tagger", - "version": "1.0.1", + "version": "1.0.2", "description": "Pure JavaScript FLAC Tag writer and reader.", "main": "dist/esm/index.js", "types": "dist/types/index.d.ts", diff --git a/src/index.ts b/src/index.ts index 657a9ce..b392d4d 100644 --- a/src/index.ts +++ b/src/index.ts @@ -19,6 +19,19 @@ import { MetadataBlockType } from './metadata-block/header' * ``` */ export type FlacTagMap = Record +const createFlacTagMap = (): FlacTagMap => { + return new Proxy( + {}, + { + get(target, p, receiver) { + return Reflect.get(target, p.toString().toUpperCase(), receiver) + }, + set(target, p, newValue, receiver) { + return Reflect.set(target, p.toString().toUpperCase(), newValue, receiver) + }, + }, + ) +} /** * The FLAC tags interface for read / write. */ @@ -65,7 +78,7 @@ const readFlacTagsBuffer = (buffer: Buffer) => { const stream = FlacStream.fromBuffer(buffer) const { vorbisCommentBlock, pictureBlock } = stream const commentList = vorbisCommentBlock?.commentList ?? [] - const tagMap: FlacTagMap = {} + const tagMap = createFlacTagMap() commentList.forEach(it => { const splitIndex = it.indexOf('=') if (splitIndex === -1) {