From 868ced2d49731fc7d162adbdef03e653ed2948e1 Mon Sep 17 00:00:00 2001 From: Jacob Ebey Date: Mon, 18 Mar 2024 10:16:44 -0700 Subject: [PATCH 1/2] fix: properly toString Headers --- src/Headers.test.ts | 6 ++++++ src/Headers.ts | 2 ++ 2 files changed, 8 insertions(+) diff --git a/src/Headers.test.ts b/src/Headers.test.ts index fb14d0a..3fe987c 100644 --- a/src/Headers.test.ts +++ b/src/Headers.test.ts @@ -84,6 +84,12 @@ describe('[Symbol.iterator]', () => { }) }) +describe('[Symbol.toStringTag]', () => { + it('should support proper toString output', () => { + expect(new Headers().toString()).toEqual("[object Headers]"); + }) +}) + describe('.keys()', () => { it('returns the iterator with the header keys', () => { const headers = new Headers({ diff --git a/src/Headers.ts b/src/Headers.ts index 1297435..c797289 100644 --- a/src/Headers.ts +++ b/src/Headers.ts @@ -55,6 +55,8 @@ export class Headers { return this.entries() } + [Symbol.toStringTag] = 'Headers'; + *keys(): IterableIterator { for (const [name] of this.entries()) { yield name From 9e958d6d9a6b985a230defb33acd37bf5d965702 Mon Sep 17 00:00:00 2001 From: Artem Zakharchenko Date: Mon, 18 Mar 2024 18:44:53 +0100 Subject: [PATCH 2/2] chore: polish --- src/Headers.test.ts | 4 ++-- src/Headers.ts | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/Headers.test.ts b/src/Headers.test.ts index 3fe987c..0574fba 100644 --- a/src/Headers.test.ts +++ b/src/Headers.test.ts @@ -85,8 +85,8 @@ describe('[Symbol.iterator]', () => { }) describe('[Symbol.toStringTag]', () => { - it('should support proper toString output', () => { - expect(new Headers().toString()).toEqual("[object Headers]"); + it('returns "[object Headers]" when called', () => { + expect(new Headers().toString()).toEqual('[object Headers]') }) }) diff --git a/src/Headers.ts b/src/Headers.ts index c797289..7ade384 100644 --- a/src/Headers.ts +++ b/src/Headers.ts @@ -27,7 +27,8 @@ export class Headers { if ( ['Headers', 'HeadersPolyfill'].includes(init?.constructor.name) || init instanceof Headers || - (typeof globalThis.Headers !== 'undefined' && init instanceof globalThis.Headers) + (typeof globalThis.Headers !== 'undefined' && + init instanceof globalThis.Headers) ) { const initialHeaders = init as Headers initialHeaders.forEach((value, name) => { @@ -51,12 +52,12 @@ export class Headers { } } + [Symbol.toStringTag] = 'Headers'; + [Symbol.iterator]() { return this.entries() } - [Symbol.toStringTag] = 'Headers'; - *keys(): IterableIterator { for (const [name] of this.entries()) { yield name