From 7bc93e0e2f246dd78026a3472d929a0fe450f70d Mon Sep 17 00:00:00 2001 From: bfredl Date: Tue, 1 Aug 2023 14:01:19 +0200 Subject: refactor(api): use typed keysets Initially this is just for geting rid of boilerplate, but eventually the types could get exposed as metadata --- scripts/gen_eval_files.lua | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) (limited to 'scripts') diff --git a/scripts/gen_eval_files.lua b/scripts/gen_eval_files.lua index c3123fd47c..eea76958ae 100755 --- a/scripts/gen_eval_files.lua +++ b/scripts/gen_eval_files.lua @@ -260,19 +260,18 @@ local function get_api_keysets() local ret = {} --- @type table - --- @type {[1]: string, [2]: {[1]: string, [2]: string}[] }[] + --- @type {name: string, keys: string[], types: table}[] local keysets = metadata.keysets - for _, keyset in ipairs(keysets) do - local kname = keyset[1] - local kdef = keyset[2] - for _, field in ipairs(kdef) do - field[2] = api_type(field[2]) + for _, k in ipairs(keysets) do + local params = {} + for _, key in ipairs(k.keys) do + table.insert(params, {key, api_type(k.types[key] or 'any')}) end - ret[kname] = { + ret[k.name] = { signature = 'NA', - name = kname, - params = kdef, + name = k.name, + params = params, } end -- cgit