[openwrt/openwrt] cli: add json data type
LEDE Commits
lede-commits at lists.infradead.org
Thu Jul 10 01:48:32 PDT 2025
nbd pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/14d5a51822a1f6c385fc51f65b1d8019b7b6ac0d
commit 14d5a51822a1f6c385fc51f65b1d8019b7b6ac0d
Author: Felix Fietkau <nbd at nbd.name>
AuthorDate: Thu Jul 10 10:46:53 2025 +0200
cli: add json data type
Signed-off-by: Felix Fietkau <nbd at nbd.name>
---
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 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)
More information about the lede-commits
mailing list