@@ -139,110 +139,183 @@ export const KNOWN_IMPORTS: KnownImports = {
139139 } ,
140140 'io-ts-numbers' : {
141141 NumberFromString : ( ) =>
142- E . right ( { type : 'string' , format : 'number' , title : 'Number String' } ) ,
142+ E . right ( {
143+ type : 'string' ,
144+ format : 'number' ,
145+ pattern : '^\\d+$' ,
146+ } ) ,
143147 NaturalFromString : ( ) =>
144- E . right ( { type : 'string' , format : 'number' , title : 'Natural Number String' } ) ,
145- Negative : ( ) => E . right ( { type : 'number' , title : 'Negative Number' } ) ,
148+ E . right ( {
149+ type : 'string' ,
150+ format : 'number' ,
151+ } ) ,
152+ Negative : ( ) =>
153+ E . right ( {
154+ type : 'number' ,
155+ maximum : 0 ,
156+ exclusiveMaximum : true ,
157+ } ) ,
146158 NegativeFromString : ( ) =>
147- E . right ( { type : 'string' , format : 'number' , title : 'Negative Number String' } ) ,
148- NegativeInt : ( ) => E . right ( { type : 'number' , title : 'Negative Integer' } ) ,
159+ E . right ( {
160+ type : 'string' ,
161+ format : 'number' ,
162+ maximum : 0 ,
163+ exclusiveMaximum : true ,
164+ } ) ,
165+ NegativeInt : ( ) =>
166+ E . right ( {
167+ type : 'number' ,
168+ maximum : 0 ,
169+ exclusiveMaximum : true ,
170+ } ) ,
149171 NegativeIntFromString : ( ) =>
150- E . right ( { type : 'string' , format : 'number' , title : 'Negative Integer String' } ) ,
151- NonNegative : ( ) => E . right ( { type : 'number' , title : 'Non-Negative Number' } ) ,
172+ E . right ( {
173+ type : 'string' ,
174+ format : 'number' ,
175+ maximum : 0 ,
176+ exclusiveMaximum : true ,
177+ } ) ,
178+ NonNegative : ( ) =>
179+ E . right ( {
180+ type : 'number' ,
181+ minimum : 0 ,
182+ } ) ,
152183 NonNegativeFromString : ( ) =>
153184 E . right ( {
154185 type : 'string' ,
155186 format : 'number' ,
156- title : 'Non-Negative Number String' ,
187+ minimum : 0 ,
188+ } ) ,
189+ NonNegativeInt : ( ) =>
190+ E . right ( {
191+ type : 'number' ,
192+ minimum : 0 ,
157193 } ) ,
158- NonNegativeInt : ( ) => E . right ( { type : 'number' , title : 'Non-Negative Integer' } ) ,
159194 NonNegativeIntFromString : ( ) =>
160195 E . right ( {
161196 type : 'string' ,
162197 format : 'number' ,
163- title : 'Non-Negative Integer String' ,
164198 } ) ,
165- NonPositive : ( ) => E . right ( { type : 'number' , title : 'Non-Positive Number' } ) ,
199+ NonPositive : ( ) =>
200+ E . right ( {
201+ type : 'number' ,
202+ maximum : 0 ,
203+ } ) ,
166204 NonPositiveFromString : ( ) =>
167205 E . right ( {
168206 type : 'string' ,
169207 format : 'number' ,
170- title : 'Non-Positive Number String' ,
208+ maximum : 0 ,
209+ } ) ,
210+ NonPositiveInt : ( ) =>
211+ E . right ( {
212+ type : 'number' ,
213+ maximum : 0 ,
171214 } ) ,
172- NonPositiveInt : ( ) => E . right ( { type : 'number' , title : 'Non-Positive Integer' } ) ,
173215 NonPositiveIntFromString : ( ) =>
174216 E . right ( {
175217 type : 'string' ,
176218 format : 'number' ,
177- title : 'Non-Positive Integer String' ,
219+ maximum : 0 ,
220+ } ) ,
221+ NonZero : ( ) =>
222+ E . right ( {
223+ type : 'number' ,
178224 } ) ,
179- NonZero : ( ) => E . right ( { type : 'number' , title : 'Non-Zero Number' } ) ,
180225 NonZeroFromString : ( ) =>
181- E . right ( { type : 'string' , format : 'number' , title : 'Non-Zero Number String' } ) ,
182- NonZeroInt : ( ) => E . right ( { type : 'number' , title : 'Non-Zero Integer' } ) ,
226+ E . right ( {
227+ type : 'string' ,
228+ format : 'number' ,
229+ } ) ,
230+ NonZeroInt : ( ) =>
231+ E . right ( {
232+ type : 'number' ,
233+ } ) ,
183234 NonZeroIntFromString : ( ) =>
184- E . right ( { type : 'string' , format : 'number' , title : 'Non-Zero Integer String' } ) ,
185- Positive : ( ) => E . right ( { type : 'number' , title : 'Positive Number' } ) ,
235+ E . right ( {
236+ type : 'string' ,
237+ format : 'number' ,
238+ } ) ,
239+ Positive : ( ) =>
240+ E . right ( {
241+ type : 'number' ,
242+ minimum : 0 ,
243+ exclusiveMinimum : true ,
244+ } ) ,
186245 PositiveFromString : ( ) =>
187- E . right ( { type : 'string' , format : 'number' , title : 'Positive Number String' } ) ,
188- Zero : ( ) => E . right ( { type : 'number' , title : 'Zero' } ) ,
246+ E . right ( {
247+ type : 'string' ,
248+ format : 'number' ,
249+ minimum : 0 ,
250+ exclusiveMinimum : true ,
251+ } ) ,
252+ Zero : ( ) =>
253+ E . right ( {
254+ type : 'number' ,
255+ } ) ,
189256 ZeroFromString : ( ) =>
190- E . right ( { type : 'string' , format : 'number' , title : 'Zero String' } ) ,
257+ E . right ( {
258+ type : 'string' ,
259+ format : 'number' ,
260+ } ) ,
191261 } ,
192262 'io-ts-bigint' : {
193263 BigIntFromString : ( ) =>
194- E . right ( { type : 'string' , format : 'number' , title : 'Big Integer String' } ) ,
195- NegativeBigInt : ( ) => E . right ( { type : 'number' , title : 'Negative Big Integer' } ) ,
264+ E . right ( {
265+ type : 'string' ,
266+ format : 'number' ,
267+ } ) ,
268+ NegativeBigInt : ( ) =>
269+ E . right ( {
270+ type : 'number' ,
271+ maximum : - 1 ,
272+ } ) ,
196273 NegativeBigIntFromString : ( ) =>
197274 E . right ( {
198275 type : 'string' ,
199276 format : 'number' ,
200- title : 'Negative Big Integer String' ,
277+ maximum : - 1 ,
201278 } ) ,
202- NonEmptyString : ( ) => E . right ( { type : 'string' , title : 'Non-Empty String' } ) ,
203- NonNegativeBigInt : ( ) =>
204- E . right ( { type : 'number' , title : 'Non-Negative Big Integer' } ) ,
279+ NonEmptyString : ( ) => E . right ( { type : 'string' , minLength : 1 } ) ,
280+ NonNegativeBigInt : ( ) => E . right ( { type : 'number' , minimum : 0 } ) ,
205281 NonNegativeBigIntFromString : ( ) =>
206282 E . right ( {
207283 type : 'string' ,
208284 format : 'number' ,
209- title : 'Non-Negative Big Integer String' ,
285+ maximum : 0 ,
210286 } ) ,
211287 NonPositiveBigInt : ( ) =>
212- E . right ( { type : 'number' , title : 'Non-Positive Big Integer' } ) ,
288+ E . right ( {
289+ type : 'number' ,
290+ maximum : 0 ,
291+ } ) ,
213292 NonPositiveBigIntFromString : ( ) =>
214293 E . right ( {
215294 type : 'string' ,
216295 format : 'number' ,
217- title : 'Non-Positive Big Integer String' ,
296+ maximum : 0 ,
218297 } ) ,
219- NonZeroBigInt : ( ) => E . right ( { type : 'number' , title : 'Non-Zero Big Integer' } ) ,
298+ NonZeroBigInt : ( ) => E . right ( { type : 'number' } ) ,
220299 NonZeroBigIntFromString : ( ) =>
221300 E . right ( {
222301 type : 'string' ,
223302 format : 'number' ,
224- title : 'Non-Zero Big Integer String' ,
225303 } ) ,
226- PositiveBigInt : ( ) => E . right ( { type : 'number' , title : 'Positive Big Integer' } ) ,
304+ PositiveBigInt : ( ) => E . right ( { type : 'number' , minimum : 1 } ) ,
227305 PositiveBigIntFromString : ( ) =>
228306 E . right ( {
229307 type : 'string' ,
230308 format : 'number' ,
231- title : 'Positive Big Integer String' ,
309+ minimum : 1 ,
232310 } ) ,
233- ZeroBigInt : ( ) => E . right ( { type : 'number' , title : 'Zero Big Integer' } ) ,
234- ZeroBigIntFromString : ( ) =>
235- E . right ( { type : 'string' , format : 'number' , title : 'Zero Big Integer String' } ) ,
311+ ZeroBigInt : ( ) => E . right ( { type : 'number' } ) ,
312+ ZeroBigIntFromString : ( ) => E . right ( { type : 'string' , format : 'number' } ) ,
236313 } ,
237314 'io-ts-types' : {
238- NumberFromString : ( ) =>
239- E . right ( { type : 'string' , format : 'number' , title : 'Number String' } ) ,
240- BigIntFromString : ( ) =>
241- E . right ( { type : 'string' , format : 'number' , title : 'Big Integer String' } ) ,
242- BooleanFromNumber : ( ) =>
243- E . right ( { type : 'number' , enum : [ 0 , 1 ] , title : 'Boolean Number' } ) ,
244- BooleanFromString : ( ) =>
245- E . right ( { type : 'string' , enum : [ 'true' , 'false' ] , title : 'Boolean String' } ) ,
315+ NumberFromString : ( ) => E . right ( { type : 'string' , format : 'number' } ) ,
316+ BigIntFromString : ( ) => E . right ( { type : 'string' , format : 'number' } ) ,
317+ BooleanFromNumber : ( ) => E . right ( { type : 'number' , enum : [ 0 , 1 ] } ) ,
318+ BooleanFromString : ( ) => E . right ( { type : 'string' , enum : [ 'true' , 'false' ] } ) ,
246319 DateFromISOString : ( ) =>
247320 E . right ( { type : 'string' , format : 'date-time' , title : 'ISO Date String' } ) ,
248321 DateFromNumber : ( ) =>
@@ -259,15 +332,14 @@ export const KNOWN_IMPORTS: KnownImports = {
259332 format : 'number' ,
260333 description : 'Number of seconds since the Unix epoch' ,
261334 } ) ,
262- IntFromString : ( ) =>
263- E . right ( { type : 'string' , format : 'integer' , title : 'Integer String' } ) ,
335+ IntFromString : ( ) => E . right ( { type : 'string' , format : 'integer' } ) ,
264336 JsonFromString : ( ) => E . right ( { type : 'string' , title : 'JSON String' } ) ,
265337 nonEmptyArray : ( _ , innerSchema ) =>
266- E . right ( { type : 'array' , items : innerSchema , title : 'Non-Empty Array' } ) ,
267- NonEmptyString : ( ) => E . right ( { type : 'string' , title : 'Non-Empty String' } ) ,
338+ E . right ( { type : 'array' , items : innerSchema , minItems : 1 } ) ,
339+ NonEmptyString : ( ) => E . right ( { type : 'string' , minLength : 1 } ) ,
268340 readonlyNonEmptyArray : ( _ , innerSchema ) =>
269341 E . right ( { type : 'array' , items : innerSchema } ) ,
270- UUID : ( ) => E . right ( { type : 'string' , title : 'UUID ' } ) ,
342+ UUID : ( ) => E . right ( { type : 'string' , title : 'uuid ' } ) ,
271343 Json : ( ) => E . right ( { type : 'any' , title : 'JSON' } ) ,
272344 JsonRecord : ( ) => E . right ( { type : 'record' , codomain : { type : 'any' } } ) ,
273345 withFallback : ( _ , schema , fallback ) =>
0 commit comments