Skip to content

Commit 7894989

Browse files
joyeecheungrichardlau
authored andcommittedMar 25, 2024
lib: move encodingsMap to internal/util
PR-URL: #51044 Refs: nodejs/performance#136 Reviewed-By: Vinícius Lourenço Claro Cardoso <contact@viniciusl.com.br> Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io>
1 parent f07605f commit 7894989

File tree

3 files changed

+14
-13
lines changed

3 files changed

+14
-13
lines changed
 

‎lib/buffer.js

+1-5
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ const {
8585
normalizeEncoding,
8686
kIsEncodingSymbol,
8787
defineLazyProperties,
88+
encodingsMap,
8889
} = require('internal/util');
8990
const {
9091
isAnyArrayBuffer,
@@ -95,7 +96,6 @@ const {
9596
const {
9697
inspect: utilInspect,
9798
} = require('internal/util/inspect');
98-
const { encodings } = internalBinding('string_decoder');
9999

100100
const {
101101
codes: {
@@ -149,10 +149,6 @@ const constants = ObjectDefineProperties({}, {
149149
Buffer.poolSize = 8 * 1024;
150150
let poolSize, poolOffset, allocPool;
151151

152-
const encodingsMap = { __proto__: null };
153-
for (let i = 0; i < encodings.length; ++i)
154-
encodingsMap[encodings[i]] = i;
155-
156152
function createPool() {
157153
poolSize = Buffer.poolSize;
158154
allocPool = createUnsafeBuffer(poolSize).buffer;

‎lib/internal/util.js

+6
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ const {
6565
} = internalBinding('util');
6666
const { isNativeError } = internalBinding('types');
6767
const { getOptionValue } = require('internal/options');
68+
const { encodings } = internalBinding('string_decoder');
6869

6970
const noCrypto = !process.versions.openssl;
7071

@@ -856,6 +857,10 @@ class WeakReference {
856857
}
857858
}
858859

860+
const encodingsMap = { __proto__: null };
861+
for (let i = 0; i < encodings.length; ++i)
862+
encodingsMap[encodings[i]] = i;
863+
859864
module.exports = {
860865
getLazy,
861866
assertCrypto,
@@ -869,6 +874,7 @@ module.exports = {
869874
defineReplaceableLazyAttribute,
870875
deprecate,
871876
emitExperimentalWarning,
877+
encodingsMap,
872878
exposeInterface,
873879
exposeLazyInterfaces,
874880
exposeNamespace,

‎lib/string_decoder.js

+7-8
Original file line numberDiff line numberDiff line change
@@ -38,15 +38,18 @@ const {
3838
kSize,
3939
decode,
4040
flush,
41-
encodings,
4241
} = internalBinding('string_decoder');
43-
const internalUtil = require('internal/util');
42+
const {
43+
kIsEncodingSymbol,
44+
encodingsMap,
45+
normalizeEncoding: _normalizeEncoding,
46+
} = require('internal/util');
4447
const {
4548
ERR_INVALID_ARG_TYPE,
4649
ERR_INVALID_THIS,
4750
ERR_UNKNOWN_ENCODING,
4851
} = require('internal/errors').codes;
49-
const isEncoding = Buffer[internalUtil.kIsEncodingSymbol];
52+
const isEncoding = Buffer[kIsEncodingSymbol];
5053

5154
const kNativeDecoder = Symbol('kNativeDecoder');
5255

@@ -60,7 +63,7 @@ const kNativeDecoder = Symbol('kNativeDecoder');
6063
* @throws {TypeError} Throws an error when encoding is invalid
6164
*/
6265
function normalizeEncoding(enc) {
63-
const nenc = internalUtil.normalizeEncoding(enc);
66+
const nenc = _normalizeEncoding(enc);
6467
if (nenc === undefined) {
6568
if (Buffer.isEncoding === isEncoding || !Buffer.isEncoding(enc))
6669
throw new ERR_UNKNOWN_ENCODING(enc);
@@ -69,10 +72,6 @@ function normalizeEncoding(enc) {
6972
return nenc;
7073
}
7174

72-
const encodingsMap = {};
73-
for (let i = 0; i < encodings.length; ++i)
74-
encodingsMap[encodings[i]] = i;
75-
7675
/**
7776
* StringDecoder provides an interface for efficiently splitting a series of
7877
* buffers into a series of JS strings without breaking apart multi-byte

0 commit comments

Comments
 (0)