From cd414cbf2f25e2aacb2d850342bd11db843f878f Mon Sep 17 00:00:00 2001 From: Marcell Toth Date: Wed, 26 Feb 2020 20:33:49 +0100 Subject: [PATCH] parse-prefer-header: More specific typings (#42642) * parse-prefer-header: Allow null or undefined input * parse-prefer-header: More explicit return value typing * parse-prefer-header: amend contributor list * parse-prefer-header: Support ReadonlyArray argument * parse-prefer-header: Add separate tests for Array and ReadonlyArray --- types/parse-prefer-header/index.d.ts | 4 ++-- types/parse-prefer-header/parse-prefer-header-tests.ts | 9 ++++++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/types/parse-prefer-header/index.d.ts b/types/parse-prefer-header/index.d.ts index 40d5424a8e..9cda4ecc15 100644 --- a/types/parse-prefer-header/index.d.ts +++ b/types/parse-prefer-header/index.d.ts @@ -1,8 +1,8 @@ // Type definitions for parse-prefer-header 1.0 // Project: https://github.com/ppaskaris/node-parse-prefer-header -// Definitions by: Vincenzo Chianese +// Definitions by: Vincenzo Chianese , Marcell Toth // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -declare function parsePreferHeader(preferHeader: string | string[]): { [key: string]: string | boolean }; +declare function parsePreferHeader(preferHeader: string | ReadonlyArray | null | undefined): { [key: string]: string | true }; export = parsePreferHeader; diff --git a/types/parse-prefer-header/parse-prefer-header-tests.ts b/types/parse-prefer-header/parse-prefer-header-tests.ts index 20a1eb7efd..10493ecca7 100644 --- a/types/parse-prefer-header/parse-prefer-header-tests.ts +++ b/types/parse-prefer-header/parse-prefer-header-tests.ts @@ -1,4 +1,11 @@ import parsePreferHeader = require('parse-prefer-header'); -parsePreferHeader(['respond-async, wait=100', 'handling=lenient']); +const testArray = ['respond-async, wait=100', 'handling=lenient']; + +const readonlyTestArray: ReadonlyArray = testArray; + +parsePreferHeader(testArray); +parsePreferHeader(readonlyTestArray); parsePreferHeader(''); +parsePreferHeader(null); +parsePreferHeader(undefined);