diff --git a/src/get-static-value.mjs b/src/get-static-value.mjs index 46616f2..efd4aae 100644 --- a/src/get-static-value.mjs +++ b/src/get-static-value.mjs @@ -172,6 +172,7 @@ const callPassThrough = new Set([ /** @type {ReadonlyArray]>} */ const getterAllowed = [ + [Map, new Set(["size"])], [ RegExp, new Set([ @@ -186,6 +187,7 @@ const getterAllowed = [ "unicode", ]), ], + [Set, new Set(["size"])], ] /** diff --git a/test/get-static-value.mjs b/test/get-static-value.mjs index a60cb8d..1a37ce8 100644 --- a/test/get-static-value.mjs +++ b/test/get-static-value.mjs @@ -324,6 +324,7 @@ const aMap = Object.freeze({ code: "new Set([1,2]).has(2)", expected: { value: true }, }, + { code: "new Set([1,2]).size", expected: { value: 2 } }, { code: "new Map([[1,2], [4,6]])", expected: { @@ -341,6 +342,7 @@ const aMap = Object.freeze({ code: "const m = new Map([[1,2], [4,6]]); m.has(2)", expected: { value: false }, }, + { code: "new Map([[1,2], [4,6]]).size", expected: { value: 2 } }, ...(semver.gte(eslint.Linter.version, "8.0.0") ? [ {