@@ -38,15 +38,13 @@ f(5L, 3L)
3838``` r
3939try(f(5L , c(3L , 4L )))
4040# > Error in base_model(fields)(.x = func_env) : Type check(s) failed
41- # > # ---
41+ # > ---
4242# > Type check failed for 'b'
4343# > value: int [1:2] 3 4
4444# > type: integer
4545# > class: integer
4646# > length: 2
47- # > expected: {
48- # > typeof(x) == "integer" & length(x) == 1L
49- # > }
47+ # > value of 'b' must be of type integer(1)
5048```
5149
5250``` r
@@ -74,26 +72,24 @@ model_validate(df, my_model)
7472df $ id <- as.double(df $ id )
7573try(model_validate(df , my_model ))
7674# > Error in model_fn(.x = obj) : Type check(s) failed
77- # > # ---
75+ # > ---
7876# > Type check failed for 'id'
7977# > value: num [1:3] 1 2 3
8078# > type: double
8179# > class: numeric
8280# > length: 3
83- # > expected: {
84- # > typeof(x) == "integer"
85- # > }
81+ # > value of 'id' must be of type integer
8682```
8783
8884``` r
8985
90- # Models
91- my_model <- base_model (
86+ # Typed structs
87+ my_type <- typed_struct (
9288 a = " integer" ,
9389 b = " integer"
9490)
9591
96- (m <- my_model (a = 2L , b = 4L ))
92+ (mt <- my_type (a = 2L , b = 4L ))
9793# > $a
9894# > [1] 2
9995# >
@@ -103,24 +99,26 @@ my_model <- base_model(
10399
104100``` r
105101
106- try(m $ a <- 10.5 )
102+ class(mt )
103+ # > [1] "list" "typewriter" "my_type"
104+ ```
105+
106+ ``` r
107+
108+ try(mt $ a <- 10.5 )
107109# > Error in check_assignment(x, name, value) : Type check failed.
108- # > {
109- # > typeof(x) == "integer"
110- # > }
110+ # > value of 'a' must be of type integer
111111```
112112
113113``` r
114114
115- try(my_model (a = 2L , b = 4.5 ))
116- # > Error in my_model (a = 2L, b = 4.5) : Type check(s) failed
117- # > # ---
115+ try(my_type (a = 2L , b = 4.5 ))
116+ # > Error in my_type (a = 2L, b = 4.5) : Type check(s) failed
117+ # > ---
118118# > Type check failed for 'b'
119119# > value: num 4.5
120120# > type: double
121121# > class: numeric
122122# > length: 1
123- # > expected: {
124- # > typeof(x) == "integer"
125- # > }
123+ # > value of 'b' must be of type integer
126124```
0 commit comments