From 71816cb1f6b14a925083a092f39ebb2a77fe23bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hu=C3=A1ng=20J=C3=B9nli=C3=A0ng?= Date: Tue, 17 Sep 2019 16:05:46 -0400 Subject: [PATCH] chore: add type annotation to features --- .../src/features.js | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/babel-helper-create-regexp-features-plugin/src/features.js b/packages/babel-helper-create-regexp-features-plugin/src/features.js index 797b0ee3ddf8..e67007c218c6 100644 --- a/packages/babel-helper-create-regexp-features-plugin/src/features.js +++ b/packages/babel-helper-create-regexp-features-plugin/src/features.js @@ -16,10 +16,20 @@ export const FEATURES = Object.freeze({ export const featuresKey = "@babel/plugin-regexp-features/featuresKey"; export const runtimeKey = "@babel/plugin-regexp-features/runtimeKey"; -export function enableFeature(features, feature): number { +type unicodeFlag = 1; +type dotAllFlag = 2; +type unicodePropertyEscape = 4; +type namedCaptureGroups = 8; +type featureType = + | unicodeFlag + | dotAllFlag + | unicodePropertyEscape + | namedCaptureGroups; + +export function enableFeature(features: number, feature: featureType): number { return features | feature; } -export function hasFeature(features, feature) { +export function hasFeature(features: number, feature: featureType) { return !!(features & feature); }