diff options
| author | Felix Fietkau | 2025-07-10 08:46:53 +0000 |
|---|---|---|
| committer | Felix Fietkau | 2025-07-10 08:48:19 +0000 |
| commit | 14d5a51822a1f6c385fc51f65b1d8019b7b6ac0d (patch) | |
| tree | 32025b017431adb5e31397032cde60b20375dfc8 | |
| parent | 6048ad905a4cb6128476723a044ee96175c74e32 (diff) | |
| download | openwrt-14d5a51822a1f6c385fc51f65b1d8019b7b6ac0d.tar.gz | |
cli: add json data type
Signed-off-by: Felix Fietkau <nbd@nbd.name>
| -rw-r--r-- | package/utils/cli/files/usr/share/ucode/cli/types.uc | 12 |
1 files changed, 12 insertions, 0 deletions
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 10b004d1ad..62f9683b45 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) |