This simplifies script or API usage of this command to remove values directly without having to calculate the index Signed-off-by: Felix Fietkau <[email protected]>
@@ -135,8 +135,14 @@ export function remove_call(ctx, argv, named)
if (!data)
continue;
- for (let idx in val)
+ for (let idx in val) {
+ if (idx != "" + +idx) {
+ let cur_idx = index(data, idx);
+ if (cur_idx >= 0)
+ idx = cur_idx + 1;
+ }
data[+idx - 1] = null;
cur_obj[name] = filter(data, (v) => v != null);
if (cur.attribute_allow_empty && !length(cur_obj[name]))