From 797bcbaffe4ac392798ab25dfc7585dc0c0ce6ad Mon Sep 17 00:00:00 2001 From: cjihrig Date: Sat, 25 Aug 2018 11:42:02 -0400 Subject: [PATCH] grpc-js-core: simplify regular expression usage This commit moves two regular expressions out of the functions they are used in, and defines them as constants. This commit also switches from match() to test(), as a Boolean result is all that's needed. --- packages/grpc-js-core/src/metadata.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/grpc-js-core/src/metadata.ts b/packages/grpc-js-core/src/metadata.ts index 40e6985b..de41f02f 100644 --- a/packages/grpc-js-core/src/metadata.ts +++ b/packages/grpc-js-core/src/metadata.ts @@ -1,5 +1,7 @@ import * as http2 from 'http2'; import {forOwn} from 'lodash'; +const LEGAL_KEY_REGEX = /^[0-9a-z_.-]+$/; +const LEGAL_NON_BINARY_VALUE_REGEX = /^[ -~]*$/; export type MetadataValue = string|Buffer; @@ -24,11 +26,11 @@ function cloneMetadataObject(repr: MetadataObject): MetadataObject { } function isLegalKey(key: string): boolean { - return !!key.match(/^[0-9a-z_.-]+$/); + return LEGAL_KEY_REGEX.test(key); } function isLegalNonBinaryValue(value: string): boolean { - return !!value.match(/^[ -~]*$/); + return LEGAL_NON_BINARY_VALUE_REGEX.test(value); } function isBinaryKey(key: string): boolean {