@@ -65,59 +65,119 @@ const {
6565
6666let  internalDeepEqual ; 
6767
68+ /** 
69+  * @deprecated  since v4.0.0 
70+  * @param  {any } arg 
71+  * @returns  {arg is boolean } 
72+  */ 
6873function  isBoolean ( arg )  { 
6974  return  typeof  arg  ===  'boolean' ; 
7075} 
7176
77+ /** 
78+  * @deprecated  since v4.0.0 
79+  * @param  {any } arg 
80+  * @returns  {arg is null } 
81+  */ 
7282function  isNull ( arg )  { 
7383  return  arg  ===  null ; 
7484} 
7585
86+ /** 
87+  * @deprecated  since v4.0.0 
88+  * @param  {any } arg 
89+  * @returns  {arg is (null | undefined) } 
90+  */ 
7691function  isNullOrUndefined ( arg )  { 
7792  return  arg  ===  null  ||  arg  ===  undefined ; 
7893} 
7994
95+ /** 
96+  * @deprecated  since v4.0.0 
97+  * @param  {any } arg 
98+  * @returns  {arg is number } 
99+  */ 
80100function  isNumber ( arg )  { 
81101  return  typeof  arg  ===  'number' ; 
82102} 
83103
104+ /** 
105+  * @param  {any } arg 
106+  * @returns  {arg is string } 
107+  */ 
84108function  isString ( arg )  { 
85109  return  typeof  arg  ===  'string' ; 
86110} 
87111
112+ /** 
113+  * @deprecated  since v4.0.0 
114+  * @param  {any } arg 
115+  * @returns  {arg is symbol } 
116+  */ 
88117function  isSymbol ( arg )  { 
89118  return  typeof  arg  ===  'symbol' ; 
90119} 
91120
121+ /** 
122+  * @deprecated  since v4.0.0 
123+  * @param  {any } arg 
124+  * @returns  {arg is undefined } 
125+  */ 
92126function  isUndefined ( arg )  { 
93127  return  arg  ===  undefined ; 
94128} 
95129
130+ /** 
131+  * @deprecated  since v4.0.0 
132+  * @param  {any } arg 
133+  * @returns  {a is NonNullable<object> } 
134+  */ 
96135function  isObject ( arg )  { 
97136  return  arg  !==  null  &&  typeof  arg  ===  'object' ; 
98137} 
99138
139+ /** 
140+  * @deprecated  since v4.0.0 
141+  * @param  {any } e 
142+  * @returns  {arg is Error } 
143+  */ 
100144function  isError ( e )  { 
101145  return  ObjectPrototypeToString ( e )  ===  '[object Error]'  ||  e  instanceof  Error ; 
102146} 
103147
148+ /** 
149+  * @deprecated  since v4.0.0 
150+  * @param  {any } arg 
151+  * @returns  {arg is Function } 
152+  */ 
104153function  isFunction ( arg )  { 
105154  return  typeof  arg  ===  'function' ; 
106155} 
107156
157+ /** 
158+  * @deprecated  since v4.0.0 
159+  * @param  {any } arg 
160+  * @returns  {arg is (boolean | null | number | string | symbol | undefined) } 
161+  */ 
108162function  isPrimitive ( arg )  { 
109163  return  arg  ===  null  || 
110164         ( typeof  arg  !==  'object'  &&  typeof  arg  !==  'function' ) ; 
111165} 
112166
167+ /** 
168+  * @param  {number } n 
169+  * @returns  {string } 
170+  */ 
113171function  pad ( n )  { 
114172  return  n . toString ( ) . padStart ( 2 ,  '0' ) ; 
115173} 
116174
117175const  months  =  [ 'Jan' ,  'Feb' ,  'Mar' ,  'Apr' ,  'May' ,  'Jun' ,  'Jul' ,  'Aug' ,  'Sep' , 
118176                'Oct' ,  'Nov' ,  'Dec' ] ; 
119177
120- // 26 Feb 16:19:34 
178+ /** 
179+  * @returns  {string }  26 Feb 16:19:34 
180+  */ 
121181function  timestamp ( )  { 
122182  const  d  =  new  Date ( ) ; 
123183  const  time  =  [ pad ( d . getHours ( ) ) , 
@@ -127,7 +187,11 @@ function timestamp() {
127187} 
128188
129189let  console ; 
130- // Log is just a thin wrapper to console.log that prepends a timestamp 
190+ /** 
191+  * Log is just a thin wrapper to console.log that prepends a timestamp 
192+  * @deprecated  since v6.0.0 
193+  * @type  {(...args: any[]) => void } 
194+  */ 
131195function  log ( ...args )  { 
132196  if  ( ! console )  { 
133197    console  =  require ( 'internal/console/global' ) ; 
@@ -144,9 +208,9 @@ function log(...args) {
144208 * functions as prototype setup using normal JavaScript does not work as 
145209 * expected during bootstrapping (see mirror.js in r114903). 
146210 * 
147-  * @param  {function } ctor Constructor function which needs to inherit the 
211+  * @param  {Function } ctor Constructor function which needs to inherit the 
148212 *     prototype. 
149-  * @param  {function } superCtor Constructor function to inherit prototype from. 
213+  * @param  {Function } superCtor Constructor function to inherit prototype from. 
150214 * @throws  {TypeError } Will error if either constructor is null, or if 
151215 *     the super constructor lacks a prototype. 
152216 */ 
@@ -170,6 +234,14 @@ function inherits(ctor, superCtor) {
170234  ObjectSetPrototypeOf ( ctor . prototype ,  superCtor . prototype ) ; 
171235} 
172236
237+ /** 
238+  * @deprecated  since v6.0.0 
239+  * @template  T 
240+  * @template  S 
241+  * @param  {T } target 
242+  * @param  {S } source 
243+  * @returns  {S extends null ? T : (T & S) } 
244+  */ 
173245function  _extend ( target ,  source )  { 
174246  // Don't do anything if source isn't an object 
175247  if  ( source  ===  null  ||  typeof  source  !==  'object' )  return  target ; 
@@ -193,6 +265,14 @@ const callbackifyOnRejected = hideStackFrames((reason, cb) => {
193265  return  cb ( reason ) ; 
194266} ) ; 
195267
268+ /** 
269+  * @template  {(...args: any[]) => Promise<any>} T 
270+  * @param  {T } original 
271+  * @returns  {T extends (...args: infer TArgs) => Promise<infer TReturn> ? 
272+  *   ((...params: [...TArgs, ((err: Error, ret: TReturn) => any)]) => void) : 
273+  *   never 
274+  * } 
275+  */ 
196276function  callbackify ( original )  { 
197277  if  ( typeof  original  !==  'function' )  { 
198278    throw  new  ERR_INVALID_ARG_TYPE ( 'original' ,  'Function' ,  original ) ; 
@@ -227,6 +307,10 @@ function callbackify(original) {
227307  return  callbackified ; 
228308} 
229309
310+ /** 
311+  * @param  {number } err 
312+  * @returns  {string } 
313+  */ 
230314function  getSystemErrorName ( err )  { 
231315  validateNumber ( err ,  'err' ) ; 
232316  if  ( err  >=  0  ||  ! NumberIsSafeInteger ( err ) )  { 
0 commit comments