Mimicking the deprecated selectRecordsAsync() behavior

You’ve probably all seen the following warning by now:
image

I’m guessing the deprecated behavior might still work well into 2022, but if you want to future-proof your scripts right now and/or depend on the old behavior, here’s the cleanest, functional way of mimicking it I’ve found so far:

const 
    table = base.getTable(yourTableName),
    fields = table.fields.map( f => f.name),
    query = await table.selectRecordsAsync({fields})

This particular destructuring syntax obviously depends on your scope being clean.

But in practice, I’d usually just write this:

const
    table = base.getTable(yourTableName),
    query = await table.selectRecordsAsync({
        fields:table.fields.map(f=>f.name)
    })

Either way, I figured I’ll share this and ask if anyone has figured out a quicker method.

4 Likes

Hi @Dominik_Bosnjak,

I use the “fields” array directly from the table; there´s no need to “map” the “fields” array.

const Table = base.getTable("TableName");
const query = await Table.selectRecordsAsync({ fields: Table.fields });

Best
Sergio
https://devblocks.agency
If this reply fixed your problem, please mark it as a solution :white_check_mark:

7 Likes

Awesome, didn’t know you could just pass an entire field object like that, cheers.

1 Like

This topic was solved and automatically closed 3 days after the last reply. New replies are no longer allowed.