From: Felix Fietkau Date: Thu, 10 Jul 2025 08:46:53 +0000 (+0200) Subject: cli: add json data type X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=14d5a51822a1f6c385fc51f65b1d8019b7b6ac0d;p=thirdparty%2Fopenwrt.git cli: add json data type Signed-off-by: Felix Fietkau --- 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)