Changed code to allow comma delimiters within namedtuple field definition strings.

This commit is contained in:
Eric Traut 2019-11-23 12:02:05 -08:00
parent 8a7a3b757f
commit cf24a8b960
2 changed files with 4 additions and 2 deletions

View File

@ -3815,7 +3815,7 @@ export function createTypeEvaluator(importLookup: ImportLookup): TypeEvaluator {
if (!includesTypes && entriesArg.valueExpression &&
entriesArg.valueExpression.nodeType === ParseNodeType.StringList) {
const entries = entriesArg.valueExpression.strings.map(s => s.value).join('').split(' ');
const entries = entriesArg.valueExpression.strings.map(s => s.value).join('').split(/[,\s]+/);
entries.forEach(entryName => {
entryName = entryName.trim();
if (entryName) {

View File

@ -20,11 +20,13 @@ NamedTuple1(1)
NamedTuple1(1, 2, 3)
NamedTuple2 = namedtuple("NamedTuple2", "field1 field2")
NamedTuple2 = namedtuple("NamedTuple2", "field1, field2")
NamedTuple2.__new__.__defaults__ = ([], )
NamedTuple2()
NamedTuple2(1)
NamedTuple2(field1=1, field2=3)
# This should generate an error because there
# should be two or fewer parameters.
NamedTuple2(1, 2, 3)