trackler 2.0.6.31 → 2.0.6.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/trackler/version.rb +1 -1
- data/tracks/go/exercises/allergies/allergies_test.go +4 -1
- data/tracks/go/exercises/anagram/anagram_test.go +8 -0
- data/tracks/go/exercises/anagram/example.go +2 -0
- data/tracks/go/exercises/atbash-cipher/atbash_cipher_test.go +8 -0
- data/tracks/go/exercises/atbash-cipher/example.go +2 -0
- data/tracks/ocaml/tools/test-generator/Makefile +3 -3
- data/tracks/perl6/SETUP.md +4 -4
- data/tracks/perl6/exercises/allergies/allergies.t +0 -0
- data/tracks/perl6/exercises/atbash-cipher/cipher.t +0 -0
- data/tracks/perl6/exercises/grade-school/grade-school.t +0 -0
- data/tracks/perl6/exercises/trinary/trinary.t +0 -0
- data/tracks/perl6/exercises/wordy/wordy.t +0 -0
- data/tracks/r/config.json +15 -0
- data/tracks/r/exercises/hello-world/test_hello-world.R +1 -1
- data/tracks/r/exercises/leap/example.R +6 -0
- data/tracks/r/exercises/leap/leap.R +3 -0
- data/tracks/r/exercises/leap/test_leap.R +24 -0
- data/tracks/r/exercises/raindrops/example.R +28 -0
- data/tracks/r/exercises/raindrops/raindrops.R +3 -0
- data/tracks/r/exercises/raindrops/test_raindrops.R +94 -0
- data/tracks/r/exercises/sum-of-multiples/example.R +16 -0
- data/tracks/r/exercises/sum-of-multiples/sum-of-multiples.R +3 -0
- data/tracks/r/exercises/sum-of-multiples/test_sum-of-multiples.R +52 -0
- metadata +11 -8
- data/tracks/ocaml/tools/test-generator/interfaces/codegen.mli +0 -13
- data/tracks/ocaml/tools/test-generator/interfaces/controller.mli +0 -3
- data/tracks/ocaml/tools/test-generator/interfaces/parser.mli +0 -15
- data/tracks/ocaml/tools/test-generator/interfaces/special_cases.mli +0 -7
- data/tracks/ocaml/tools/test-generator/interfaces/template.mli +0 -11
- data/tracks/ocaml/tools/test-generator/interfaces/utils.mli +0 -22
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9f6e3f97fb0442bba06845f093f9ab9ea5d92a79
|
4
|
+
data.tar.gz: cbb479cfd8d79e854facf50b3e114d21e76e637f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0f08eba9a5d7e964a238e50dc854d66444bd8f05d21e3263f4e8e272312cbb1ad46f628883621a181bdf23e4f7156bdfdb6eaf0312be81020061e927fea4d8c2
|
7
|
+
data.tar.gz: 7e7956710060f07e599ef66a935d2759340ab4a1598139b7314879db60fc6d863f9714ff36a88c3377ddc51130ba442d195b8769ffa7ac1b295b5a7d06b06786
|
data/lib/trackler/version.rb
CHANGED
@@ -23,10 +23,13 @@ var allergiesTests = []struct {
|
|
23
23
|
{[]string{"eggs", "shellfish", "strawberries", "tomatoes", "chocolate", "pollen", "cats"}, 509},
|
24
24
|
}
|
25
25
|
|
26
|
-
func
|
26
|
+
func TestTestVersion(t *testing.T) {
|
27
27
|
if testVersion != targetTestVersion {
|
28
28
|
t.Fatalf("Found testVersion = %v, want %v", testVersion, targetTestVersion)
|
29
29
|
}
|
30
|
+
}
|
31
|
+
|
32
|
+
func TestAllergies(t *testing.T) {
|
30
33
|
for _, test := range allergiesTests {
|
31
34
|
actual := Allergies(test.input)
|
32
35
|
sort.Strings(actual)
|
@@ -6,6 +6,8 @@ import (
|
|
6
6
|
"testing"
|
7
7
|
)
|
8
8
|
|
9
|
+
const targetTestVersion = 1
|
10
|
+
|
9
11
|
var testCases = []struct {
|
10
12
|
subject string
|
11
13
|
candidates []string
|
@@ -138,6 +140,12 @@ func equal(a []string, b []string) bool {
|
|
138
140
|
return fmt.Sprintf("%v", a) == fmt.Sprintf("%v", b)
|
139
141
|
}
|
140
142
|
|
143
|
+
func TestTestVersion(t *testing.T) {
|
144
|
+
if testVersion != targetTestVersion {
|
145
|
+
t.Fatalf("Found testVersion = %v, want %v", testVersion, targetTestVersion)
|
146
|
+
}
|
147
|
+
}
|
148
|
+
|
141
149
|
func TestDetectAnagrams(t *testing.T) {
|
142
150
|
for _, tt := range testCases {
|
143
151
|
actual := Detect(tt.subject, tt.candidates)
|
@@ -2,6 +2,8 @@ package atbash
|
|
2
2
|
|
3
3
|
import "testing"
|
4
4
|
|
5
|
+
const targetTestVersion = 1
|
6
|
+
|
5
7
|
var tests = []struct {
|
6
8
|
expected string
|
7
9
|
s string
|
@@ -17,6 +19,12 @@ var tests = []struct {
|
|
17
19
|
{"gsvjf rxpyi ldmul cqfnk hlevi gsvoz abwlt", "The quick brown fox jumps over the lazy dog."},
|
18
20
|
}
|
19
21
|
|
22
|
+
func TestTestVersion(t *testing.T) {
|
23
|
+
if testVersion != targetTestVersion {
|
24
|
+
t.Fatalf("Found testVersion = %v, want %v", testVersion, targetTestVersion)
|
25
|
+
}
|
26
|
+
}
|
27
|
+
|
20
28
|
func TestAtbash(t *testing.T) {
|
21
29
|
for _, test := range tests {
|
22
30
|
actual := Atbash(test.s)
|
@@ -1,13 +1,13 @@
|
|
1
1
|
test: test_gen.native
|
2
2
|
@./all_tests.native
|
3
3
|
|
4
|
-
canonical_data_checker.native: all_tests.native src/*.ml
|
4
|
+
canonical_data_checker.native: all_tests.native src/*.ml test/*.ml
|
5
5
|
@ocamlbuild -use-ocamlfind -tag thread -tag short_paths -cflags -strict-sequence -r -pkg core -pkg yojson -pkg ppx_deriving -pkg ppx_deriving.eq -pkg ppx_deriving.show -Is src,interfaces canonical_data_checker.native
|
6
6
|
|
7
|
-
test_gen.byte: all_tests.native src/*.ml
|
7
|
+
test_gen.byte: all_tests.native src/*.ml test/*.ml
|
8
8
|
@ocamlbuild -use-ocamlfind -tag thread -tag short_paths -cflags -strict-sequence -r -pkg core -pkg yojson -pkg ppx_deriving -pkg ppx_deriving.eq -pkg ppx_deriving.show -Is src,interfaces test_gen.byte
|
9
9
|
|
10
|
-
test_gen.native: all_tests.native src/*.ml
|
10
|
+
test_gen.native: all_tests.native src/*.ml test/*.ml
|
11
11
|
@ocamlbuild -use-ocamlfind -tag thread -tag short_paths -cflags -strict-sequence -r -pkg core -pkg yojson -pkg ppx_deriving -pkg ppx_deriving.eq -pkg ppx_deriving.show -Is src,interfaces test_gen.native
|
12
12
|
|
13
13
|
all_tests.native: src/*.ml test/*.ml
|
data/tracks/perl6/SETUP.md
CHANGED
@@ -7,7 +7,7 @@ examples if you get stuck.
|
|
7
7
|
## Running the tests
|
8
8
|
|
9
9
|
There is a test script included with the exercise; a file with the extension
|
10
|
-
`.t`. You can run the test script for the exercise
|
11
|
-
|
12
|
-
|
13
|
-
|
10
|
+
`.t`. You can run the test script for the exercise by executing the command
|
11
|
+
`prove . --exec=perl6` in the exercise directory. You can also add the `-v` flag
|
12
|
+
e.g. `prove . --exec=perl6 -v` to display all tests, including any optional
|
13
|
+
tests marked as 'TODO'.
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/tracks/r/config.json
CHANGED
@@ -54,6 +54,21 @@
|
|
54
54
|
"difficulty": 1,
|
55
55
|
"slug": "hamming",
|
56
56
|
"topics": []
|
57
|
+
},
|
58
|
+
{
|
59
|
+
"difficulty": 1,
|
60
|
+
"slug": "leap",
|
61
|
+
"topics": []
|
62
|
+
},
|
63
|
+
{
|
64
|
+
"difficulty": 1,
|
65
|
+
"slug": "raindrops",
|
66
|
+
"topics": []
|
67
|
+
},
|
68
|
+
{
|
69
|
+
"difficulty": 1,
|
70
|
+
"slug": "sum-of-multiples",
|
71
|
+
"topics": []
|
57
72
|
}
|
58
73
|
]
|
59
74
|
}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
source('./leap.R')
|
2
|
+
suppressPackageStartupMessages({ require(testthat) })
|
3
|
+
|
4
|
+
test_that("year not divisible by 4: common year", {
|
5
|
+
year <- 2015
|
6
|
+
expect_equal(leap(year), FALSE)
|
7
|
+
})
|
8
|
+
|
9
|
+
test_that("year divisible by 4, not divisible by 100: leap year", {
|
10
|
+
year <- 2016
|
11
|
+
expect_equal(leap(year), TRUE)
|
12
|
+
})
|
13
|
+
|
14
|
+
test_that("year divisible by 100, not divisible by 400: common year", {
|
15
|
+
year <- 2100
|
16
|
+
expect_equal(leap(year), FALSE)
|
17
|
+
})
|
18
|
+
|
19
|
+
test_that("year divisible by 400: leap year", {
|
20
|
+
year <- 2000
|
21
|
+
expect_equal(leap(year), TRUE)
|
22
|
+
})
|
23
|
+
|
24
|
+
print("All tests passed!")
|
@@ -0,0 +1,28 @@
|
|
1
|
+
raindrops <- function(number) {
|
2
|
+
|
3
|
+
Pling <- ''
|
4
|
+
Plang <- ''
|
5
|
+
Plong <- ''
|
6
|
+
|
7
|
+
# If the number has 3 as a factor, output 'Pling'.
|
8
|
+
if (number %% 3 == 0) {
|
9
|
+
Pling <- 'Pling'
|
10
|
+
}
|
11
|
+
# If the number has 5 as a factor, output 'Plang'.
|
12
|
+
if (number %% 5 == 0) {
|
13
|
+
Plang <- 'Plang'
|
14
|
+
}
|
15
|
+
# If the number has 7 as a factor, output 'Plong'.
|
16
|
+
if (number %% 7 == 0) {
|
17
|
+
Plong <- 'Plong'
|
18
|
+
}
|
19
|
+
|
20
|
+
PlingPlangPlong <- paste(Pling, Plang, Plong, sep = "")
|
21
|
+
|
22
|
+
# If the number does not have 3, 5, or 7 as a factor, just pass the number's digits straight through.
|
23
|
+
if (PlingPlangPlong == "") {
|
24
|
+
PlingPlangPlong = as.character(number)
|
25
|
+
}
|
26
|
+
|
27
|
+
PlingPlangPlong
|
28
|
+
}
|
@@ -0,0 +1,94 @@
|
|
1
|
+
source('./raindrops.R')
|
2
|
+
suppressPackageStartupMessages({ require(testthat) })
|
3
|
+
|
4
|
+
test_that("the sound for 1 is 1", {
|
5
|
+
number <- 1
|
6
|
+
expect_equal(raindrops(number), "1")
|
7
|
+
})
|
8
|
+
|
9
|
+
test_that("the sound for 3 is Pling", {
|
10
|
+
number <- 3
|
11
|
+
expect_equal(raindrops(number), "Pling")
|
12
|
+
})
|
13
|
+
|
14
|
+
test_that("the sound for 5 is Plang", {
|
15
|
+
number <- 5
|
16
|
+
expect_equal(raindrops(number), "Plang")
|
17
|
+
})
|
18
|
+
|
19
|
+
test_that("the sound for 7 is Plong", {
|
20
|
+
number <- 7
|
21
|
+
expect_equal(raindrops(number), "Plong")
|
22
|
+
})
|
23
|
+
|
24
|
+
test_that("the sound for 6 is Pling as it has a factor 3", {
|
25
|
+
number <- 6
|
26
|
+
expect_equal(raindrops(number), "Pling")
|
27
|
+
})
|
28
|
+
|
29
|
+
test_that("2 to the power 3 does not make a raindrop sound as 3 is the exponent not the base", {
|
30
|
+
number <- 8
|
31
|
+
expect_equal(raindrops(number), "8")
|
32
|
+
})
|
33
|
+
|
34
|
+
test_that("the sound for 9 is Pling as it has a factor 3", {
|
35
|
+
number <- 9
|
36
|
+
expect_equal(raindrops(number), "Pling")
|
37
|
+
})
|
38
|
+
|
39
|
+
test_that("the sound for 10 is Plang as it has a factor 5", {
|
40
|
+
number <- 10
|
41
|
+
expect_equal(raindrops(number), "Plang")
|
42
|
+
})
|
43
|
+
|
44
|
+
test_that("the sound for 14 is Plong as it has a factor of 7", {
|
45
|
+
number <- 14
|
46
|
+
expect_equal(raindrops(number), "Plong")
|
47
|
+
})
|
48
|
+
|
49
|
+
test_that("the sound for 15 is PlingPlang as it has factors 3 and 5", {
|
50
|
+
number <- 15
|
51
|
+
expect_equal(raindrops(number), "PlingPlang")
|
52
|
+
})
|
53
|
+
|
54
|
+
test_that("the sound for 21 is PlingPlong as it has factors 3 and 7", {
|
55
|
+
number <- 21
|
56
|
+
expect_equal(raindrops(number), "PlingPlong")
|
57
|
+
})
|
58
|
+
|
59
|
+
test_that("the sound for 25 is Plang as it has a factor 5", {
|
60
|
+
number <- 25
|
61
|
+
expect_equal(raindrops(number), "Plang")
|
62
|
+
})
|
63
|
+
|
64
|
+
test_that("the sound for 27 is Pling as it has a factor 3", {
|
65
|
+
number <- 27
|
66
|
+
expect_equal(raindrops(number), "Pling")
|
67
|
+
})
|
68
|
+
|
69
|
+
test_that("the sound for 35 is PlangPlong as it has factors 5 and 7", {
|
70
|
+
number <- 35
|
71
|
+
expect_equal(raindrops(number), "PlangPlong")
|
72
|
+
})
|
73
|
+
|
74
|
+
test_that("the sound for 49 is Plong as it has a factor 7", {
|
75
|
+
number <- 49
|
76
|
+
expect_equal(raindrops(number), "Plong")
|
77
|
+
})
|
78
|
+
|
79
|
+
test_that("the sound for 52 is 52", {
|
80
|
+
number <- 52
|
81
|
+
expect_equal(raindrops(number), "52")
|
82
|
+
})
|
83
|
+
|
84
|
+
test_that("the sound for 105 is PlingPlangPlong as it has factors 3, 5 and 7", {
|
85
|
+
number <- 105
|
86
|
+
expect_equal(raindrops(number), "PlingPlangPlong")
|
87
|
+
})
|
88
|
+
|
89
|
+
test_that("the sound for 3125 is Plang as it has a factor 5", {
|
90
|
+
number <- 3125
|
91
|
+
expect_equal(raindrops(number), "Plang")
|
92
|
+
})
|
93
|
+
|
94
|
+
print("All tests passed!")
|
@@ -0,0 +1,16 @@
|
|
1
|
+
sum_of_multiples <- function(factors, limit) {
|
2
|
+
|
3
|
+
get_mults <- function(factor) {
|
4
|
+
|
5
|
+
max_mult <- ceiling(limit / factor) - 1
|
6
|
+
if (max_mult > 0) {
|
7
|
+
new_multiples <- factor * 1:max_mult
|
8
|
+
}
|
9
|
+
|
10
|
+
}
|
11
|
+
|
12
|
+
multiples <- unique(unlist(lapply(factors, FUN = get_mults)))
|
13
|
+
|
14
|
+
return(sum(as.numeric(multiples)))
|
15
|
+
|
16
|
+
}
|
@@ -0,0 +1,52 @@
|
|
1
|
+
source('./sum_of_multiples.R')
|
2
|
+
suppressPackageStartupMessages({ require(testthat) })
|
3
|
+
|
4
|
+
test_that("Case 1", {
|
5
|
+
expect_equal(sum_of_multiples(c(3,5), 1), 0)
|
6
|
+
})
|
7
|
+
|
8
|
+
test_that("Case 2", {
|
9
|
+
expect_equal(sum_of_multiples(c(3,5), 4), 3)
|
10
|
+
})
|
11
|
+
|
12
|
+
test_that("Case 3", {
|
13
|
+
expect_equal(sum_of_multiples(c(3,5), 10), 23)
|
14
|
+
})
|
15
|
+
|
16
|
+
test_that("Case 4", {
|
17
|
+
expect_equal(sum_of_multiples(c(3,5), 100), 2318)
|
18
|
+
})
|
19
|
+
|
20
|
+
test_that("Case 5", {
|
21
|
+
expect_equal(sum_of_multiples(c(3,5), 1000), 233168)
|
22
|
+
})
|
23
|
+
|
24
|
+
test_that("Case 6", {
|
25
|
+
expect_equal(sum_of_multiples(c(7,13,17), 20), 51)
|
26
|
+
})
|
27
|
+
|
28
|
+
test_that("Case 7", {
|
29
|
+
expect_equal(sum_of_multiples(c(4,6), 15), 30)
|
30
|
+
})
|
31
|
+
|
32
|
+
test_that("Case 8", {
|
33
|
+
expect_equal(sum_of_multiples(c(5,6,8), 150), 4419)
|
34
|
+
})
|
35
|
+
|
36
|
+
test_that("Case 9", {
|
37
|
+
expect_equal(sum_of_multiples(c(5,25), 51), 275)
|
38
|
+
})
|
39
|
+
|
40
|
+
test_that("Case 10", {
|
41
|
+
expect_equal(sum_of_multiples(c(43,47), 10000), 2203160)
|
42
|
+
})
|
43
|
+
|
44
|
+
test_that("Case 11", {
|
45
|
+
expect_equal(sum_of_multiples(c(1), 100), 4950)
|
46
|
+
})
|
47
|
+
|
48
|
+
test_that("Case 12", {
|
49
|
+
expect_equal(sum_of_multiples(c(), 10000), 0)
|
50
|
+
})
|
51
|
+
|
52
|
+
print("All tests passed!")
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trackler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.6.
|
4
|
+
version: 2.0.6.32
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Katrina Owen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-02-
|
11
|
+
date: 2017-02-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubyzip
|
@@ -5412,12 +5412,6 @@ files:
|
|
5412
5412
|
- tracks/ocaml/tools/test-generator/Makefile
|
5413
5413
|
- tracks/ocaml/tools/test-generator/README.md
|
5414
5414
|
- tracks/ocaml/tools/test-generator/_tags
|
5415
|
-
- tracks/ocaml/tools/test-generator/interfaces/codegen.mli
|
5416
|
-
- tracks/ocaml/tools/test-generator/interfaces/controller.mli
|
5417
|
-
- tracks/ocaml/tools/test-generator/interfaces/parser.mli
|
5418
|
-
- tracks/ocaml/tools/test-generator/interfaces/special_cases.mli
|
5419
|
-
- tracks/ocaml/tools/test-generator/interfaces/template.mli
|
5420
|
-
- tracks/ocaml/tools/test-generator/interfaces/utils.mli
|
5421
5415
|
- tracks/ocaml/tools/test-generator/src/canonical_data_checker.ml
|
5422
5416
|
- tracks/ocaml/tools/test-generator/src/codegen.ml
|
5423
5417
|
- tracks/ocaml/tools/test-generator/src/controller.ml
|
@@ -6164,12 +6158,21 @@ files:
|
|
6164
6158
|
- tracks/r/exercises/hello-world/example.R
|
6165
6159
|
- tracks/r/exercises/hello-world/hello-world.R
|
6166
6160
|
- tracks/r/exercises/hello-world/test_hello-world.R
|
6161
|
+
- tracks/r/exercises/leap/example.R
|
6162
|
+
- tracks/r/exercises/leap/leap.R
|
6163
|
+
- tracks/r/exercises/leap/test_leap.R
|
6167
6164
|
- tracks/r/exercises/luhn/example.R
|
6168
6165
|
- tracks/r/exercises/luhn/luhn.R
|
6169
6166
|
- tracks/r/exercises/luhn/test_luhn.R
|
6167
|
+
- tracks/r/exercises/raindrops/example.R
|
6168
|
+
- tracks/r/exercises/raindrops/raindrops.R
|
6169
|
+
- tracks/r/exercises/raindrops/test_raindrops.R
|
6170
6170
|
- tracks/r/exercises/space-age/example.R
|
6171
6171
|
- tracks/r/exercises/space-age/space-age.R
|
6172
6172
|
- tracks/r/exercises/space-age/test_space-age.R
|
6173
|
+
- tracks/r/exercises/sum-of-multiples/example.R
|
6174
|
+
- tracks/r/exercises/sum-of-multiples/sum-of-multiples.R
|
6175
|
+
- tracks/r/exercises/sum-of-multiples/test_sum-of-multiples.R
|
6173
6176
|
- tracks/r/exercises/word-count/example.R
|
6174
6177
|
- tracks/r/exercises/word-count/test_word-count.R
|
6175
6178
|
- tracks/r/exercises/word-count/word-count.R
|
@@ -1,13 +0,0 @@
|
|
1
|
-
open Core.Std
|
2
|
-
|
3
|
-
open Model
|
4
|
-
|
5
|
-
type edit_expected_function = value: parameter -> string
|
6
|
-
|
7
|
-
type edit_parameters_function = (string * string) list -> (string * string) list
|
8
|
-
|
9
|
-
type subst = Subst of string
|
10
|
-
|
11
|
-
val subst_to_string : subst -> string
|
12
|
-
|
13
|
-
val fill_in_template : edit_expected_function -> edit_parameters_function -> string -> case list -> (subst list, string) Result.t
|
@@ -1,15 +0,0 @@
|
|
1
|
-
open Core.Std
|
2
|
-
open Model
|
3
|
-
|
4
|
-
type error = TopLevelMustHaveKeyCalledCases | ExpectingListOfCases |
|
5
|
-
ExpectingMapForCase | BadDescription | BadExpected
|
6
|
-
|
7
|
-
type test = {name: string; cases: case list} [@@deriving eq, show]
|
8
|
-
|
9
|
-
type tests =
|
10
|
-
| Single of case list
|
11
|
-
| Suite of test list [@@deriving eq, show]
|
12
|
-
|
13
|
-
val parse_json_text : string -> (tests, error) Result.t
|
14
|
-
|
15
|
-
val show_error : error -> string
|
@@ -1,11 +0,0 @@
|
|
1
|
-
open Core.Std
|
2
|
-
|
3
|
-
open Codegen
|
4
|
-
|
5
|
-
type t = {start: int; finish: int; file_text: string; template: string}
|
6
|
-
|
7
|
-
val fill : int -> int -> template: string -> subst list -> string
|
8
|
-
|
9
|
-
val find_template : template_text: string -> (int * int * string) option
|
10
|
-
|
11
|
-
val show : t -> string
|
@@ -1,22 +0,0 @@
|
|
1
|
-
open Core.Std
|
2
|
-
open Yojson.Safe
|
3
|
-
|
4
|
-
val map2 : ('a -> 'b -> 'c) -> ('a, 'e) Result.t -> ('b, 'e) Result.t -> ('c, 'e) Result.t
|
5
|
-
|
6
|
-
val sequence : (('a, 'e) Result.t) list -> (('a list), 'e) Result.t
|
7
|
-
|
8
|
-
val to_list_option : json -> json list option
|
9
|
-
|
10
|
-
val to_list_note : 'e -> json -> ((json list, 'e) Result.t)
|
11
|
-
|
12
|
-
val to_assoc_note : 'e -> json -> ((json list, 'e) Result.t)
|
13
|
-
|
14
|
-
val to_string_note : 'e -> json -> ((string, 'e) Result.t)
|
15
|
-
|
16
|
-
val member_note : 'e -> string -> json -> ((json, 'e) Result.t)
|
17
|
-
|
18
|
-
val safe_to_int_option : json -> int option
|
19
|
-
|
20
|
-
val find_arrayi : ?start:int -> 'a array -> f:('a -> bool) -> (int * 'a) option
|
21
|
-
|
22
|
-
val (>>) : ('a -> 'b) -> ('c -> 'a) -> 'c -> 'b
|