8000 internal: use util.types to migrate DEP0103 in Node.js (#3704) · lodash/lodash@363fef0 · GitHub
[go: up one dir, main page]

Skip to content

Commit 363fef0

Browse files
joyeecheungjdalton
authored andcommitted
internal: use util.types to migrate DEP0103 in Node.js (#3704)
- Use require('util').types instead of using process.binding('util') to get the type checking helpers - Rename nodeUtil to nodeTypes since that is what it is for Refs: nodejs/node#18415
1 parent 6e4cdc0 commit 363fef0

File tree

7 files changed

+21
-15
lines changed

7 files changed

+21
-15
lines changed

.internal/nodeUtil.js renamed to .internal/nodeTypes.js

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,16 @@ const moduleExports = freeModule && freeModule.exports === freeExports
1313
const freeProcess = moduleExports && freeGlobal.process
1414

1515
/** Used to access faster Node.js helpers. */
16-
const nodeUtil = ((() => {
16+
const nodeTypes = ((() => {
1717
try {
18-
return freeProcess && freeProcess.binding && freeProcess.binding('util')
18+
/* Detect public `util.types` helpers for Node.js v10+. */
19+
/* Node.js deprecation code: DEP0103. */
20+
const typesHelper = freeModule && freeModule.require && freeModule.require('util').types
21+
return typesHelper
22+
? typesHelper
23+
/* Legacy process.binding('util') for Node.js earlier than v10. */
24+
: freeProcess && freeProcess.binding && freeProcess.binding('util')
1925
} catch (e) {}
2026
})())
2127

22-
export default nodeUtil
28+
export default nodeTypes

isArrayBuffer.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import baseGetTag from './.internal/baseGetTag.js'
22
import isObjectLike from './isObjectLike.js'
3-
import nodeUtil from './.internal/nodeUtil.js'
3+
import nodeTypes from './.internal/nodeTypes.js'
44

55
/* Node.js helper references. */
6-
const nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer
6+
const nodeIsArrayBuffer = nodeTypes && nodeTypes.isArrayBuffer
77

88
/**
99
* Checks if `value` is classified as an `ArrayBuffer` object.

isDate.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import baseGetTag from './.internal/baseGetTag.js'
22
import isObjectLike from './isObjectLike.js'
3-
import nodeUtil from './.internal/nodeUtil.js'
3+
import nodeTypes from './.internal/nodeTypes.js'
44

55
/* Node.js helper references. */
6-
const nodeIsDate = nodeUtil && nodeUtil.isDate
6+
const nodeIsDate = nodeTypes && nodeTypes.isDate
77

88
/**
99
* Checks if `value` is classified as a `Date` object.

isMap.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import getTag from './.internal/getTag.js'
22
import isObjectLike from './isObjectLike.js'
3-
import nodeUtil from './.internal/nodeUtil.js'
3+
import nodeTypes from './.internal/nodeTypes.js'
44

55
/* Node.js helper references. */
6-
const nodeIsMap = nodeUtil && nodeUtil.isMap
6+
const nodeIsMap = nodeTypes && nodeTypes.isMap
77

88
/**
99
* Checks if `value` is classified as a `Map` object.

isRegExp.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import baseGetTag from './.internal/baseGetTag.js'
22
import isObjectLike from './isObjectLike.js'
3-
import nodeUtil from './.internal/nodeUtil.js'
3+
import nodeTypes from './.internal/nodeTypes.js'
44

55
/* Node.js helper references. */
6-
const nodeIsRegExp = nodeUtil && nodeUtil.isRegExp
6+
const nodeIsRegExp = nodeTypes && nodeTypes.isRegExp
77

88
/**
99
* Checks if `value` is classified as a `RegExp` object.

isSet.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import getTag from './.internal/getTag.js'
2-
import nodeUtil from './.internal/nodeUtil.js'
2+
import nodeTypes from './.internal/nodeTypes.js'
33
import isObjectLike from './isObjectLike'
44

55
/* Node.js helper references. */
6-
const nodeIsSet = nodeUtil && nodeUtil.isSet
6+
const nodeIsSet = nodeTypes && nodeTypes.isSet
77

88
/**
99
* Checks if `value` is classified as a `Set` object.

isTypedArray.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import getTag from './.internal/getTag.js'
2-
import nodeUtil from './.internal/nodeUtil.js'
2+
import nodeTypes from './.internal/nodeTypes.js'
33
import isObjectLike from './isObjectLike'
44

55
/** Used to match `toStringTag` values of typed arrays. */
66
const reTypedTag = /^\[object (?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)\]$/
77

88
/* Node.js helper references. */
9-
const nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray
9+
const nodeIsTypedArray = nodeTypes && nodeTypes.isTypedArray
1010

1111
/**
1212
* Checks if `value` is classified as a typed array.

0 commit comments

Comments
 (0)
0