diff --git a/src/config/normalize/lib/wild_wild_path/iterate/expand.js b/src/config/normalize/lib/wild_wild_path/iterate/expand.js index 2820db60e..b97b96d50 100644 --- a/src/config/normalize/lib/wild_wild_path/iterate/expand.js +++ b/src/config/normalize/lib/wild_wild_path/iterate/expand.js @@ -34,6 +34,9 @@ export const expandToken = function ( // - known, i.e. returned: prop|index|slice tokens // - unknown, i.e. not returned: any|regexp tokens // Tokens like wildcards cannot do this since there is known property to add. +// Both non-enumerable and inherited properties: +// - Are not listed by token types returning multiple entries like * +// - But are handled by the other ones export const handleMissingValue = function (value, token, classes) { const tokenType = getObjectTokenType(token) const missing = tokenType.isMissing(value, classes) diff --git a/src/config/normalize/lib/wild_wild_path/tokens/any.js b/src/config/normalize/lib/wild_wild_path/tokens/any.js index e2dd3794d..015f68168 100644 --- a/src/config/normalize/lib/wild_wild_path/tokens/any.js +++ b/src/config/normalize/lib/wild_wild_path/tokens/any.js @@ -32,7 +32,7 @@ const normalize = function ({ type }) { } // Use the token to list entries against a target value. -// We purposely ignore symbol properties by using `Object.keys()`. +// By using `for in`, we purposely exclude both symbols and inherited properties const iterate = function (value) { return Array.isArray(value) ? value.map((childValue, index) => ({