2222
2323'use strict' ;
2424
25+ const {
26+ RegExpPrototypeTest,
27+ StringPrototypeSplit,
28+ StringPrototypeToLowerCase,
29+ } = primordials ;
30+
2531const {
2632ERR_INVALID_ARG_TYPE ,
2733ERR_OUT_OF_RANGE
@@ -134,7 +140,7 @@ function getColorDepth(env = process.env){
134140// Lazy load for startup performance.
135141if ( OSRelease === undefined ) {
136142const { release } = require ( 'os' ) ;
137- OSRelease = release ( ) . split ( '.' ) ;
143+ OSRelease = StringPrototypeSplit ( release ( ) , '.' ) ;
138144}
139145// Windows 10 build 10586 is the first Windows release that supports 256
140146// colors. Windows 10 build 14931 is the first release that supports
@@ -163,14 +169,15 @@ function getColorDepth(env = process.env){
163169}
164170
165171if ( 'TEAMCITY_VERSION' in env ) {
166- return / ^ ( 9 \. ( 0 * [ 1 - 9 ] \d * ) \. | \d { 2 , } \. ) / . test ( env . TEAMCITY_VERSION ) ?
172+ return RegExpPrototypeTest ( / ^ ( 9 \. ( 0 * [ 1 - 9 ] \d * ) \. | \d { 2 , } \. ) / , env . TEAMCITY_VERSION ) ?
167173COLORS_16 : COLORS_2 ;
168174}
169175
170176switch ( env . TERM_PROGRAM ) {
171177case 'iTerm.app' :
172178if ( ! env . TERM_PROGRAM_VERSION ||
173- / ^ [ 0 - 2 ] \. / . test ( env . TERM_PROGRAM_VERSION ) ) {
179+ RegExpPrototypeTest ( / ^ [ 0 - 2 ] \. / , env . TERM_PROGRAM_VERSION )
180+ ) {
174181return COLORS_256 ;
175182}
176183return COLORS_16m ;
@@ -186,16 +193,17 @@ function getColorDepth(env = process.env){
186193}
187194
188195if ( env . TERM ) {
189- if ( / ^ x t e r m - 2 5 6 / . test ( env . TERM ) )
196+ if ( RegExpPrototypeTest ( / ^ x t e r m - 2 5 6 / , env . TERM ) ) {
190197return COLORS_256 ;
198+ }
191199
192- const termEnv = env . TERM . toLowerCase ( ) ;
200+ const termEnv = StringPrototypeToLowerCase ( env . TERM ) ;
193201
194202if ( TERM_ENVS [ termEnv ] ) {
195203return TERM_ENVS [ termEnv ] ;
196204}
197205for ( const term of TERM_ENVS_REG_EXP ) {
198- if ( term . test ( termEnv ) ) {
206+ if ( RegExpPrototypeTest ( term , termEnv ) ) {
199207return COLORS_16 ;
200208}
201209}
0 commit comments