Add findFieldIdx

This commit is contained in:
Zahary Karadjov 2022-07-14 15:08:22 +03:00
parent 9eb8807706
commit 493d18b829
No known key found for this signature in database
GPG Key ID: C8936F8A3073D609

View File

@ -247,6 +247,20 @@ proc fieldReadersTable*(RecordType, ReaderType: distinct type):
tbl[] = makeFieldReadersTable(RecordType, ReaderType)
return addr(tbl[])
proc findFieldIdx*(fieldsTable: FieldReadersTable,
fieldName: string,
expectedFieldPos: var int): int =
for i in expectedFieldPos ..< fieldsTable.len:
if fieldsTable[i].fieldName == fieldName:
expectedFieldPos = i + 1
return i
for i in 0 ..< expectedFieldPos:
if fieldsTable[i].fieldName == fieldName:
return i
return -1
proc findFieldReader*(fieldsTable: FieldReadersTable,
fieldName: string,
expectedFieldPos: var int): auto =