projects
/
openwrt
/
openwrt.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
6048ad9
)
cli: add json data type
author
Felix Fietkau
<nbd@nbd.name>
Thu, 10 Jul 2025 08:46:53 +0000
(10:46 +0200)
committer
Felix Fietkau
<nbd@nbd.name>
Thu, 10 Jul 2025 08:48:19 +0000
(10:48 +0200)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
package/utils/cli/files/usr/share/ucode/cli/types.uc
patch
|
blob
|
history
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 10b004d1ad0bdf53f4201e104200d8a18eb65419..62f9683b45dae6a5b7305895a4e52634ab6b4890 100644
(file)
--- 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)