From 14d5a51822a1f6c385fc51f65b1d8019b7b6ac0d Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Thu, 10 Jul 2025 10:46:53 +0200 Subject: [PATCH] cli: add json data type Signed-off-by: Felix Fietkau --- package/utils/cli/files/usr/share/ucode/cli/types.uc | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/package/utils/cli/files/usr/share/ucode/cli/types.uc b/package/utils/cli/files/usr/share/ucode/cli/types.uc index 10b004d1ad0..62f9683b45d 100644 --- a/package/utils/cli/files/usr/share/ucode/cli/types.uc +++ b/package/utils/cli/files/usr/share/ucode/cli/types.uc @@ -58,6 +58,18 @@ const types = { return; } }, + json: { + parse: function(ctx, name, val) { + try { + val = json(val); + } catch (e) { + return ctx.invalid_argument('Invalid JSON data'); + } + if (this.data_type != null && type(val) != this.data_type) + ctx.invalid_argument(`Invalid data type: %s, expected: %s`, type(val), this.data_type); + return val; + } + }, enum: { parse: function(ctx, name, val) { if (this.no_validate) -- 2.47.2