1
+ ``` typescript
1
2
export enum Weekdays {
2
3
Friday = " Friday" ,
3
4
Monday = " Monday" ,
@@ -7,7 +8,9 @@ export enum Weekdays {
7
8
Tuesday = " Tuesday" ,
8
9
Wednesday = " Wednesday" ,
9
10
}
11
+ ```
10
12
13
+ ``` json
11
14
{
12
15
"type" : " object" ,
13
16
"properties" : {
@@ -37,15 +40,18 @@ export enum Weekdays {
37
40
" weekdays"
38
41
]
39
42
}
43
+ ```
40
44
41
45
------------------------------------------------
42
46
43
-
47
+ ``` typescript
44
48
export enum Enum {
45
49
Bar = " bar" ,
46
50
Foo = " foo" ,
47
51
}
52
+ ```
48
53
54
+ ``` json
49
55
{
50
56
"type" : " object" ,
51
57
"additionalProperties" : false ,
@@ -57,15 +63,17 @@ export enum Enum {
57
63
},
58
64
"required" : [" enum" ]
59
65
}
60
-
66
+ ```
61
67
------------------------------------------------
62
-
68
+ ``` typescript
63
69
export enum FooEnum {
64
70
A = " a" ,
65
71
B = " b" ,
66
72
C = " c" ,
67
73
}
74
+ ```
68
75
76
+ ``` json
69
77
{
70
78
"type" : " object" ,
71
79
"properties" : {
@@ -84,18 +92,22 @@ export enum FooEnum {
84
92
" foo"
85
93
]
86
94
}
95
+ ```
87
96
88
97
--------------------------------------
89
98
ruby
90
99
100
+ ``` ruby
91
101
module FooEnum
92
102
A = " a"
93
103
B = " b"
94
104
C = " c"
95
105
end
106
+ ```
96
107
97
108
---------------------------------------
98
109
110
+ ``` ruby
99
111
module Types
100
112
include Dry .Types (default: :nominal )
101
113
@@ -113,9 +125,10 @@ module OtherArr
113
125
Foo = " foo"
114
126
If = " if"
115
127
end
128
+ ```
116
129
117
130
118
-
131
+ ``` ruby
119
132
def self .from_json! (json )
120
133
from_dynamic!(JSON .parse(json))
121
134
end
@@ -144,6 +157,34 @@ module Lvc
144
157
Lawful = " lawful"
145
158
Neutral = " neutral"
146
159
end
147
-
160
+ ```
148
161
----------------------------------
162
+ ``` ruby
163
+ module Types
164
+ include Dry .Types (default: :nominal )
149
165
166
+ Hash = Strict ::Hash
167
+ String = Strict ::String
168
+ Weekdays = Strict ::String .enum(" Friday" , " Monday" , " Saturday" , " Sunday" , " Thursday" , " Tuesday" , " Wednesday" )
169
+ end
170
+
171
+ module Weekdays
172
+ Friday = " Friday"
173
+ Monday = " Monday"
174
+ Saturday = " Saturday"
175
+ Sunday = " Sunday"
176
+ Thursday = " Thursday"
177
+ Tuesday = " Tuesday"
178
+ Wednesday = " Wednesday"
179
+ end
180
+
181
+ class TempMulti < Dry ::Struct
182
+ attribute :weekdays , Types ::Weekdays
183
+
184
+ def self .from_dynamic! (d )
185
+ d = Types ::Hash [d]
186
+ new (
187
+ weekdays: d.fetch(" weekdays" ),
188
+ )
189
+ end
190
+ ```
0 commit comments