@@ -28,7 +28,6 @@ const {
2828 ArrayPrototypePush,
2929 FunctionPrototypeBind,
3030 MathMaxApply,
31- NumberIsFinite,
3231 NumberIsNaN,
3332 ObjectDefineProperties,
3433 ObjectDefineProperty,
@@ -51,7 +50,6 @@ const {
5150 ERR_ZLIB_INITIALIZATION_FAILED ,
5251 } ,
5352 genericNodeError,
54- hideStackFrames,
5553} = require ( 'internal/errors' ) ;
5654const { Transform, finished } = require ( 'stream' ) ;
5755const {
@@ -71,9 +69,10 @@ const {
7169} = require ( 'buffer' ) ;
7270const { owner_symbol } = require ( 'internal/async_hooks' ) . symbols ;
7371const {
72+ checkRangesOrGetDefault,
7473 validateFunction,
75- validateNumber,
7674 validateUint32,
75+ validateFiniteNumber,
7776} = require ( 'internal/validators' ) ;
7877
7978const kFlushFlag = Symbol ( 'kFlushFlag' ) ;
@@ -195,47 +194,6 @@ function zlibOnError(message, errno, code) {
195194 self [ kError ] = error ;
196195}
197196
198- // 1. Returns false for undefined and NaN
199- // 2. Returns true for finite numbers
200- // 3. Throws ERR_INVALID_ARG_TYPE for non-numbers
201- // 4. Throws ERR_OUT_OF_RANGE for infinite numbers
202- const checkFiniteNumber = hideStackFrames ( ( number , name ) => {
203- // Common case
204- if ( number === undefined ) {
205- return false ;
206- }
207-
208- if ( NumberIsFinite ( number ) ) {
209- return true ; // Is a valid number
210- }
211-
212- if ( NumberIsNaN ( number ) ) {
213- return false ;
214- }
215-
216- validateNumber . withoutStackTrace ( number , name ) ;
217-
218- // Infinite numbers
219- throw new ERR_OUT_OF_RANGE . HideStackFramesError ( name , 'a finite number' , number ) ;
220- } ) ;
221-
222- // 1. Returns def for number when it's undefined or NaN
223- // 2. Returns number for finite numbers >= lower and <= upper
224- // 3. Throws ERR_INVALID_ARG_TYPE for non-numbers
225- // 4. Throws ERR_OUT_OF_RANGE for infinite numbers or numbers > upper or < lower
226- const checkRangesOrGetDefault = hideStackFrames (
227- ( number , name , lower , upper , def ) => {
228- if ( ! checkFiniteNumber . withoutStackTrace ( number , name ) ) {
229- return def ;
230- }
231- if ( number < lower || number > upper ) {
232- throw new ERR_OUT_OF_RANGE . HideStackFramesError ( name ,
233- `>= ${ lower } and <= ${ upper } ` , number ) ;
234- }
235- return number ;
236- } ,
237- ) ;
238-
239197const FLUSH_BOUND = [
240198 [ Z_NO_FLUSH , Z_BLOCK ] ,
241199 [ BROTLI_OPERATION_PROCESS , BROTLI_OPERATION_EMIT_METADATA ] ,
@@ -261,7 +219,7 @@ function ZlibBase(opts, mode, handle, { flush, finishFlush, fullFlush }) {
261219
262220 if ( opts ) {
263221 chunkSize = opts . chunkSize ;
264- if ( ! checkFiniteNumber ( chunkSize , 'options.chunkSize' ) ) {
222+ if ( ! validateFiniteNumber ( chunkSize , 'options.chunkSize' ) ) {
265223 chunkSize = Z_DEFAULT_CHUNK ;
266224 } else if ( chunkSize < Z_MIN_CHUNK ) {
267225 throw new ERR_OUT_OF_RANGE ( 'options.chunkSize' ,
0 commit comments