Skip to content

Commit 5fb0b0b

Browse files
authored
feat: add std reverse linter (#709)
* feat: add std.reverse to linter * feat: add linter test case * feat: fix linter golden test data
1 parent 2a7260d commit 5fb0b0b

8 files changed

+6
-50
lines changed

linter/internal/types/stdlib.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,7 @@ func prepareStdlib(g *typeGraph) {
143143
"join": g.newSimpleFuncType(stringOrArray, "sep", "arr"),
144144
"lines": g.newSimpleFuncType(arrayOfString, "arr"),
145145
"flattenArrays": g.newSimpleFuncType(anyArrayType, "arrs"),
146+
"reverse": g.newSimpleFuncType(anyArrayType, "arrs"),
146147
"sort": g.newFuncType(anyArrayType, []ast.Parameter{required("arr"), optional("keyF")}),
147148
"uniq": g.newFuncType(anyArrayType, []ast.Parameter{required("arr"), optional("keyF")}),
148149
"sum": g.newSimpleFuncType(numberType, "arr"),

testdata/builtinReverse.linter.golden

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +0,0 @@
1-
../testdata/builtinReverse:1:1-12 Indexed object has no field "reverse"
2-
3-
std.reverse([1, 2])
4-
5-
6-
../testdata/builtinReverse:1:1-20 Called value must be a function, but it is assumed to be void
7-
8-
std.reverse([1, 2])
9-
10-
Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +0,0 @@
1-
../testdata/builtinReverse_empty:1:1-12 Indexed object has no field "reverse"
2-
3-
std.reverse([])
4-
5-
6-
../testdata/builtinReverse_empty:1:1-16 Called value must be a function, but it is assumed to be void
7-
8-
std.reverse([])
9-
10-
Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +0,0 @@
1-
../testdata/builtinReverse_many:1:1-12 Indexed object has no field "reverse"
2-
3-
std.reverse(["hello", "my", "name", "is", "tester"])
4-
5-
6-
../testdata/builtinReverse_many:1:1-53 Called value must be a function, but it is assumed to be void
7-
8-
std.reverse(["hello", "my", "name", "is", "tester"])
9-
10-
Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +0,0 @@
1-
../testdata/builtinReverse_not_array:1:1-12 Indexed object has no field "reverse"
2-
3-
std.reverse(false)
4-
5-
6-
../testdata/builtinReverse_not_array:1:1-19 Called value must be a function, but it is assumed to be void
7-
8-
std.reverse(false)
9-
10-
Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +0,0 @@
1-
../testdata/builtinReverse_single:1:1-12 Indexed object has no field "reverse"
2-
3-
std.reverse(["hello"])
4-
5-
6-
../testdata/builtinReverse_single:1:1-23 Called value must be a function, but it is assumed to be void
7-
8-
std.reverse(["hello"])
9-
10-

testdata/stdlib_smoke_test.golden

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,10 @@
162162
5
163163
],
164164
"repeat": "foofoofoo",
165+
"reverse": [
166+
"a",
167+
"b"
168+
],
165169
"rstripChars": "aaabbbb",
166170
"set": [
167171
[

testdata/stdlib_smoke_test.jsonnet

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,7 @@
124124
join: std.join(sep=",", arr=["a", "b", "c"]),
125125
lines: std.lines(arr=["a", "b", "c"]),
126126
flattenArrays: std.flattenArrays([[1], [2, 3], [4, 5, [6, 7]]]),
127+
reverse: std.reverse(["b", "a"]),
127128
sort: [
128129
std.sort([2, 3, 1]),
129130
std.sort(arr=[2, 3, 1], keyF=function(x) -x),

0 commit comments

Comments
 (0)