diff --git a/src/rules/noDupeKeys.js b/src/rules/noDupeKeys.js index b4636e60..8b68dba5 100644 --- a/src/rules/noDupeKeys.js +++ b/src/rules/noDupeKeys.js @@ -49,7 +49,11 @@ const create = (context) => { const builObjectStructure = (properties) => { return _.map(properties, (property) => { - const element = analizeElement(property.value); + const element = analizeElement( + property.type === 'ObjectTypeSpreadProperty' ? + property.argument : + property.value + ); return { ...element, diff --git a/tests/rules/assertions/noDupeKeys.js b/tests/rules/assertions/noDupeKeys.js index c7f0d32b..af7607df 100644 --- a/tests/rules/assertions/noDupeKeys.js +++ b/tests/rules/assertions/noDupeKeys.js @@ -107,6 +107,9 @@ export default { }, { code: 'var a = 1; var b = 1; type f = { get(key: a): string, get(key: b): string }' + }, + { + code: 'type a = { b: (config: { ...C, key: string}) => C }' } ] };